Java中documentHelper解析xml获取想要的数据

webservice接口的入参和出参都是xml格式的数据,网上有很多方法,下面我将使用documentHelper工具来解析xml格式的数据,获取到自己想要的数据

获取单节点数据

假设我们接口调用成功,出参类似以下格式

<treatyroot>
<returncode>0000</returncode>
<message>接口调用成功</message>
</treatyroot>

这是我们就可以用工具来解析出参获取节点数据

// 解析出参
Document doc = DocumentHelper.parseText(result);
Element root = doc.getRootElement();
// 根据标签名获取到节点对象
String returncode = root.elementText("returncode");
String message = root.elementText("message");

获取数组节点数据

假设我们接口调用失败,出参类似以下格式,我们需要获取到同步失败的号码进行相应的处理

<treatyroot>
<returncode>1001</returncode>
<message>号码已存在</message>
<number>123</number>
<number>456</number>
<number>789</number>
</treatyroot>

这是我们就可以用工具来解析出参获取节点数据

//解析入参
Document ll = DocumentHelper.parseText(request);
 List<Long> list = new ArrayList<>();
 Iterator numbers = ll.getRootElement().elementIterator("number");
 while (numbers.hasNext()){
     Element next = (Element)numbers.next();
     String text = next.getText();
     list.add(text);
 }
// 最后list就是我们想要获取的号码集合了

原文地址:https://blog.csdn.net/weixin_45427945/article/details/128770826