dom
解析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("//user[3]/aa/password");//选出单个节点
List<Node> list=doc.selectNodes("//user");//选出多个节点
for (Node node : list) {
System.out.println(node.getName());
}
网友评论