使用SAXReader解析xml的方法记录:
SAXReader reader = new SAXReader(); Document document = reader.read("xml文件路径");
1、获取根节点
Element root = document.getRootElement();
2、获取某个节点
List<Element> list = document.selectNodes("//action")
单斜杠(/)表示紧接着的根目录。
双斜杠(//)表示该节点下任一层级。
无斜杠表示根节点
3、根据节点的属性值检索节点
List<Element> list = root.selectNodes("节点名[@属性名='属性值'][@属性名=‘属性值’]...");
List<Element< list = root.selectNodes("节点名[contains(@属性名, '属性值')]"); //模糊查找
Element e = (Element) root.selectSingleNode("节点名[@属性名=‘属性值’]"); //查询单一的节点
4、获取属性值
String value = element.attributeValue("属性名");
5、删除节点
root.remove(e);
删除后重新写xml文件
OutputFormat format = OutputFormat.createPrettyPrint();
format.setEncoding("UTF-8");
XMLWriter writer = new XMLWriter(new FileOutputStream(读取的xml文件file), format);
writer.write(document);
writer.close();