import java.io.File;
import java.io.FileOutputStream;
import java.util.Iterator;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
/**
* <修改xml文件某个节点内容,并输出>
* <功能详细描述>
* @author Administrator
* @version [版本号, 2013-5-17]
* @see [相关类/方法]
* @since [产品/模块版本]
*/
public class UpdateXmlTest
{
/**
* <修改xml文件某个节点内容,并输出>
* <功能详细描述>
* @param args
* @see [类、类#方法、类#成员]
*/
@SuppressWarnings("unchecked")
public static void main(String[] args)
{
// TODO Auto-generated method stub
try
{
// 文件路径
String path = "C:/config.xml";
// 获取文件内容
SAXReader saxReader = new SAXReader();
Document doc = saxReader.read(new File(path));
// 获取根节点
Element root = doc.getRootElement();
// 获取根节点下面的所有子节点,遍历
Iterator<Element> iter = root.elementIterator();
while (iter.hasNext())
{
Element ele = (Element)iter.next();
if (ele.getName().equals("strTDCIpAddr"))
{
// 给要修改节点内容赋值
ele.setText("18.250.0.159");
}
}
OutputFormat format = OutputFormat.createPrettyPrint();
// 利用格式化类对编码进行设置
format.setNewLineAfterDeclaration(false);
format.setEncoding("UTF-8");
format.setExpandEmptyElements(true);
// 输出
FileOutputStream output = new FileOutputStream(new File(path));
XMLWriter writer = new XMLWriter(output, format);
writer.write(doc);
writer.flush();
writer.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<strTDCIpAddr>18.250.0.13</strTDCIpAddr>
<usTDCPort>5001</usTDCPort>
<udpServerIp>18.250.0.13</udpServerIp>
</config>