我有一个从下面创建的 XML 对象:
<?xml version="1.0" encoding="UTF-8"?>
<pdfDoc>
<XMLOutput>
<webservice>
<residentLocationData>
<addressDataMap>
<entry>
<key>Zip</key>
<value>08094</value>
</entry>
<entry>
<key>CountyCode</key>
<value>015</value>
</entry>
<entry>
<key>StateName</key>
<value>New Jersey</value>
</entry>
</addressDataMap>
</residentLocationData>
</webservice>
</XMLOutput>
<pdfDoc>
我正在尝试提取“New Jersey”的字符串值。为了获取“value”元素本身,我使用:
//addressDataMap/entry/key[text() = 'StateName']/following-sibling::value
但是我还没有在网上看到任何说明如何仅使用 XPath 本身来获取该元素的 xmlText 的字符串值的内容。我可以使用我正在使用的语言(Coldfusion)中的代码获取该字符串:
<cfset theState = xmlSearch(L.xmlObj, "//addressDataMap/entry/key[text() = 'StateName']/following-sibling::value")[1].xmlText>
但我不清楚如何仅使用 XPath 获取字符串“New Jersey”。
最佳答案
这个 XPath,
//entry[key='StateName']/value/text()
将根据请求选择与'StateName'
key
关联的“新泽西”
值
。
关于xml - 给定键值的 XPath?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67309032/