【发布时间】:2018-06-12 20:18:54
【问题描述】:
我正在尝试使用 Jdom 解析器从 XML 中获取特定值。 下面是我的xml:
<recordTarget>
<patientRole>
**<id root="1.20.3.01.5.2" extension="a"/>
<id root="1.2.0.5.1.3.2" extension="b"/>**
<addr use=""><country></country><state></state><city></city><postalCode></postalCode><streetAddressLine></streetAddressLine></addr>
<telecom value="" use=""/>
<telecom value="" use=""/>
<patient>
</patient>
<providerOrganization>
</providerOrganization>
</patientRole>
</recordTarget>
现在从上面的 xml 中,我想在(以星号标记)中的“ID”标签下获取“扩展”属性,其中包含值“3.2”,并忽略包含“5.2”的 id 标签。
我能够获得第一个值,但我需要获得第二个 id 标签值。
下面是我的 java 代码,它给了我 ID 扩展的第一个值:
XPathExpression<Attribute> expr = xFactory.compile(xPath, Filters.attribute(), null, defaultNs);
Attribute attribute = expr.evaluateFirst(document);
if (attribute != null) {
return attribute.getValue();
} else {
return "";
}
【问题讨论】:
标签: java xpath xml-parsing jdom