在工作中有时候会用到dom4j对xml文件或者字符串进行解析, 以下内容为随手笔记, 防止以后遗忘.
1. 相关依赖
1 2 3 4 5 6
| <dependency> <groupId>dom4j</groupId> <artifactId>dom4j</artifactId> <version>1.6.1</version> </dependency>
|
2. 获取dom对象
获取dom对象方式主要以下几种:
1 2 3 4 5 6 7 8 9 10 11
| SAXReader reader = new SAXReader(); Document doc1 = reader.read(new File("src/main/java/com/liuzhihang/tool/xml/alipay.xml"));
String aliPayStr = XmlTest.getAliPayStr(); Document doc2 = DocumentHelper.parseText(aliPayStr);
Document doc3 = DocumentHelper.createDocument(); Element element = doc3.addElement("Test");
|
3. 操作dom对象
当获取到dom对象后便可以通过以下方式对dom进行操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| Element rootElement = dom.getRootElement();
Element element = rootElement.element("response").element("alipay");
String text = element.element("alipay_buyer_login_id").getText();
List elements = element.elements();
Iterator iterator = element.elementIterator();
Element testElement = element.addElement("testElement");
testElement.setText("测试添加文字"); System.out.println(element.asXML());
boolean remove = element.remove(testElement); System.out.println(remove + "\n" + element.asXML());
|
4. 详细代码
Dom4jTest.java