我想提取所有属性名称,ID和值,因为需要将数据导入到另一个系统中。
<ATTRIBUTES>
<ATTRIBUTE NAME="TOLERANCE" ID="AT000"></ATTRIBUTE>
<ATTRIBUTE NAME="CHANGED_AT">
<VALUE>2019-01-31</VALUE>
</ATTRIBUTE>
<ATTRIBUTE NAME="CHANGED_BY" ID="AT002"></ATTRIBUTE>
<ATTRIBUTE NAME="WEIGHT_UNIT" ID="AT003">
<VALUE>kg</VALUE>
</ATTRIBUTE>
</ATTRIBUTES>
问题是ATTRIBUTES/ATTRIBUTE/@ID
和ATTRIBUTES/ATTRIBUTE/#VALUE
仅返回现有数据,并不表示没有ID
或value
元素的节点。
我找到了related question,有人在其中搜索不匹配或不存在的属性,但是我无法翻译代码来满足我的需求。
如何使用XPath提取健全的数据,使数据完整无缺?
答案 0 :(得分:0)
我建议您使用Jsoup-library解析xml。它旨在读取html上下文中的xml。它有几种方法可以通过Css选择器,id来查找元素,或者匹配属性上的值,或者对属性上的值进行逆匹配,直接查找属性值,等等。
只需使用Jsoup.connect方法连接到URL。这将返回一个Document(J汤节点特化)。从那时起,您可以使用多种方法从文档中提取数据。