如何从xml内容http enpoint获取基于键的值
<authority.result result="found 7 matches" startToken="xxxxxxx">
<TestEntry keyId="0right0" test="test" valueId="rightValue123" version="1"/>
<TestEntry keyId="0wrong" test="test" valueId="0wrongValue" version="1"/>
<TestEntry keyId="0wrong0" test="test" valueId="wrong" version="1"/>
</authority.result>
我想拿到 valueId
什么时候 keyId=="0right0"
只是,我以前写过以下内容,但无法获取特定键的值。
URL url = new URL(endpoint);
XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(url.openStream());
String latest;
while (reader.hasNext()) {
if (reader.next() == XMLStreamConstants.START_ELEMENT) {
if (reader.getLocalName().equals("valueId")) {
latest = reader.getElementText();
return latest;
}
}
}
2条答案
按热度按时间xam8gpfp1#
可以使用xpath获得所需的值:
string(//TestEntry[@keyId="0right0"]/@valueId)
vxqlmq5t2#
你需要区分
XML
属性中的元素。要读取属性名称和值,必须使用getAttributeName
以及getAttributeValue
方法。下面是如何读取属性的示例代码:
以上代码打印: