我有一些从我试图用 XPath 解析的 REST 接口(interface)返回的 XML,其中的示例是:
<parameter>
<name>employee first name</name>
<value>TestF</value>
</parameter>
<parameter>
<name>employee id</name>
<value>3345</value>
</parameter>
<parameter>
<name>date of commencement</name>
<value>02 Oct 2015, 10:52:00</value>
</parameter>
<parameter>
<name>employee surname</name>
<value>TestL</value>
</parameter>
我很挣扎,因为所有节点的名称都相同,成对的
<name
> <value
>。我想做的是找到一个
<Parameter
> 具有特定 <name
的节点> 节点并返回 <value
> 该参数的节点,我希望这是有道理的!我认为可行的是找到正确的
<name
> 节点,然后只需使用 'following-sibling' 函数来获取值,但我根本无法让它工作。我最终得到的是:
//parameter/name[text()[contains(.,'team')]]/following-sibling::value
最后我还尝试了 value[1] 以及许多组合!
我可以用我正在寻找的任何东西替换“团队”,例如“员工 ID”。
最佳答案
您可以筛选parameter
通过 name
子元素内容然后返回对应的子元素value
像这样:
//parameter[contains(name,'team')]/value
关于xml - 使用 XPath 在格式不佳的 XML 中查找 XML 同级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32899820/