/*****************************************************/
//>dom4j 读写解析xml文件
/*****************************************************/
public class Test {
mi.attributeIterator();//取出节点上所有的属性
/**
* 写xml
*/
public static void writeDocument() {
try {
Document document = DocumentHelper.createDocument();
// 这个方法非常好用他主要将一窜字符窜的xml解析称dom树
// DocumentHelper.parseText("");
Element root = document.addElement("config");
root.addAttribute("attr1", "value");
Element mi = root.addElement("mainIndex");
mi.setAttributeValue("name", "value");
// setText("zhangsan")=<name>zhangsan</name>
mi.setText("xxxx");// <mainIndex name="value">xxxx</mainIndex>
save(document, "c:/test.xml");
} catch (Exception e) {
e.printStackTrace();
}
}
public static void updateDocument() {
try {
SAXReader sr = new SAXReader();
Document document = sr.read(new File("c:\\test.xml"));
// lstEle.selectNodes("str")可以是xpath也可以是节点的名字
// document.asXML() 可以把当前的任意元素的xml字符窜输出
// <?xml version="1.0" encoding="UTF-8"?>
// <config attr1="value"><mainIndex name="value"/></config>
Element root = document.getRootElement();
Element el = (Element) root.selectSingleNode("/config/mainIndex");
// el.attribute("name").setValue("aaaaaaa");
// el.attribute("name").setData("xxxxx");
el.attribute("name").setText("bbbbb");
save(document, "c:/test.xml");
System.out.println(document.asXML());
} catch (Exception e) {
e.printStackTrace();
}
}
/**
*
* @param document
* @param savDir
* 将文档输出到的dir
*/
public static void save(Document document, String savDir) {
try {
FileOutputStream fos = new FileOutputStream(new File(savDir));
XMLWriter xw = new XMLWriter(fos);
xw.write(document);
xw.flush();
xw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
dom4j,读,写,解析,xml文件 示例代码
最新推荐文章于 2022-05-07 18:09:42 发布