需要导入的jar包
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import java.util.Iterator;
jar对应的maven仓库坐标
<!-- https://mvnrepository.com/artifact/org.dom4j/dom4j -->
<!--解析XML依赖jar-->
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.0</version>
</dependency>
解析的测试方法
public class TestXml {
//单一个根节点
@org.junit.Test
public void test() throws Exception {
String xml = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" +
"<string xmlns=\"http://tempuri.org/\">Hello</string>";
// 将xml格式字符串转化为DOM对象
org.dom4j.Document document = DocumentHelper.parseText(xml);
// 获取根结点对象
Element rootElement = document.getRootElement();
String textTrim = rootElement.getTextTrim();
System.out.println(textTrim);
}
//多节点
@org.junit.Test
public void testdom4j() throws Exception {
try {
String xmlResult = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><users><user id=\"10001\"><name>张三</name><role>群主</role><sex>男</sex><content>今天天气真不错!</content><time>2016-04-25 16:43:28</time></user>" +
"<user id=\"10002\"> <name>李四</name><role>管理员</role><sex>男</sex><content>http://192.168.0.190:9999/beike/data/b3217f668.png</content><time>2016-04-25 16:45:08</time></user></users>";
// 将xml格式字符串转化为DOM对象
org.dom4j.Document document = DocumentHelper.parseText(xmlResult);
// 获取根结点对象
Element rootElement = document.getRootElement();
String textTrim = rootElement.getTextTrim();
// 循环根节点,获取其子节点
for (Iterator iter = rootElement.elementIterator(); iter.hasNext();) {
Element element = (Element) iter.next(); // 获取标签对象
// 获取该标签对象的属性
org.dom4j.Attribute attr = element.attribute("id");
if (null != attr) {
String attrVal = attr.getValue();
String attrName = attr.getName();
System.out.println(attrName + ": " + attrVal);
}
// 循环第一层节点,获取其子节点
for (Iterator iterInner = element.elementIterator(); iterInner
.hasNext();) {
// 获取标签对象
Element elementOption = (Element) iterInner.next();
// 获取该标签对象的名称
String tagName = elementOption.getName();
// 获取该标签对象的内容
String tagContent = elementOption.getTextTrim();
// 输出内容
System.out.print(tagName + ": " + tagContent + " ");
}
System.out.println("解析完成!");
}
} catch (Exception e) {
e.printStackTrace();
}}
}