dom4j
元素
解析xml文件
SAXReader reader=new SAXReader();
Document doc=reader.read("book.xml");
獲取根節點
Element root = doc.getRootElement();
遍歷
List<Element> list=root.elements();//獲取所有的子節點
for (Element ele : list) {
List<Element> child = ele.elements();
for (Element element : child) {
element.getName();//獲取標簽的名稱
element.getText();//獲取標簽的內容
element.getNodeType();//獲取標簽的類型 1 代表元素類型 3 代表文本類型
}
}
查
Element ele=root.elementByID("1001");//根據ID快速獲取指定的元素
Element pwd=ele.element("標簽名");//獲取指定標簽名的元素
保存
OutputFormat format=OutputFormat.createPrettyPrint();//創建一個漂亮的格式
XMLWriter writer=new XMLWriter(new FileOutputStream("book.xml"),format);
writer.write(doc);//將doc對象寫入的xml文件中
添加
Element root=doc.getRootElement();
Element author=root.addElement("book");//添加一個book的子元素
刪除
Element root=doc.getRootElement();
Element ele=doc.elementByID("b2");
root.remove(ele);//刪除指定的子節點,需要通過父節點來刪除
ele.detach();//刪除所有的子節點,可以自己刪除自己
改
Element book=root.elementByID("b1");
Element name=book.element("name");
name.setText("西游記");
XPath
使用XPath對xml文件的元素進行導航
首先需要導包:jaxen.jar
Node password=doc.selectSingleNode("http://user[3]/aa/password");//選出單個節點
List<Node> list=doc.selectNodes("http://user");//選出多個節點
for (Node node : list) {
System.out.println(node.getName());
}
屬性
查
Attribute name = ele.attribute("name");//獲取單個指定的屬性
List<Attribute> list = ele.attributes("name");//獲取所有指定的屬性
增
Element ele=root.elementByID("user");
ele.addAttribute("sex", "men");
刪
Element ele=root.elementByID("user");
ele.removeAttribute("sex");
改
Attribute name = ele.attribute("name");//獲取單個指定的屬性
name.setText("lisi");