我有一个像

<root xmlns:ns1="http://foo">
    <ns1:child1>Text</ns1:child1>
    <ns1:child2>Number</ns1:child2>
</root>

现在我从不同的人那里得到这个信息,例如,第2个人向我发送了另一条具有相同结构的消息,例如
<root xmlns:anotherNs="http://foo">
    <anotherNs:child1>Another Text</anotherNs:child1>
    <anotherNs:child2>Another Number</anotherNs:child2>
</root>

因此,唯一的区别是 namespace 的名称。如何使用一个XPath表达式为两个xml选择child2的内容​​?

诸如“/root/child2”或“//child2”之类的东西不起作用。

最佳答案

像这样使用 local-name() 函数:

//*[local-name()='child2']

关于xpath - 使用XPath选择不带 namespace 的节点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15139979/

10-09 00:15