参考工具类:
参考文档:
Xpath的更多介绍请看文章:
createXPath:创建XPath
getByXPath:通过XPath方式读取XML节点等信息
例子:
<?xml version="1.0" encoding="utf-8"?>
<returnsms>
<returnstatus>Success(成功)</returnstatus>
<message>ok</message>
<remainpoint>1490</remainpoint>
<taskID>885</taskID>
<successCounts>1</successCounts>
</returnsms>
读取代码:
document docResult=XmlUtil.readXML(xml File );
//结果为“ok”
Object value = XmlUtil.getByXPath("//returnsms/message", docResult, XPathConstants.STRING);
核心代码:
/**
* 解析响应报文xml
*/ private XmlResult parseResponseXml(String xml) {
// 自定义xml实体类
XmlResult result = new XmlResult();
Document doc = XmlUtil.readXML(new ByteArray InputStream (xml.getBytes(StandardCharsets.UTF_8)));
result.setName(getTagValueByPath(doc,"//MESSAGE/NAME"));
result.setPhone(getTagValueByPath(doc, "//MESSAGE/PHONE"));
result.setAddress(getTagValueByPath(doc, "//MESSAGE/ADDRESS"));
}
/**
* 根据xml标签路径获取标签值
*/private String getTagValueByPath(Document document, String path) {
return String.valueOf(XmlUtil.getByXPath(path, document, XPathConstants.STRING));
}
路漫漫其修远兮,吾将上下而求索
译文:在追寻真理方面,前方的道路还很漫长,但我将百折不挠,不遗余力地去追求和探索。
如果您有什么好的想法与方法,欢迎在评论区留言,我们一起讨论~