xml报文解析基本方法

使用dom4j处理xml报文

需要引入的jar

1
2
3
4
5
6
7
8
9


<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>2.1.0</version>
</dependency>


我们以如下例子来分别讲解常用的xml解析方法:

如上图这是一个返回的报文:是以String类型接收的,此时我们需要获取里面的值。

第一步:将String类型解析为Document.

1
2
3
4
5

Document document = DocumentHelper.parseText("xml");

//xml为上图的报文

第二步:拿取报文中的节点值:

1.拿取 的值:

1
2
3
4
5

Node rtNode = document.selectSingleNode("//SendData/resultcode");

String rtResult = rtNode.getStringValue(); //resultcode的值

2.拿取 的值:

1
2
3
4
5

Node rsNode = document.selectSingleNode("//SendData/reason");

String rsResult = rsNode.getStringValue();//reason的值

3.拿取的值,此时由于col存在多个,所以不能再用selectSingleNode;

1
2
3
4
5
6
7
8
9

List<Node> list = document.selectNodes("//SendData/result/row/col");

String col_1 = list.get(0).getText();

String col_2 = list.get(1).getText();

String col_3 = list.get(2).getText();

4.拿取 中的属性值:如param_name:

1
2
3
4
5
6
7

List<Node> list = document.selectNodes("//SendData/result/row/col");

Element element = (Element) list.get(2);

String paramNameStr = element.attributeValue("param_name");

至此一个简单常见的xml解析至此完成了。