使用XPath选择不带名称空间的节点

Hau*_*uke 8 xpath xml-namespaces

我有一个像xml的

<root xmlns:ns1="http://foo">
    <ns1:child1>Text</ns1:child1>
    <ns1:child2>Number</ns1:child2>
</root>
Run Code Online (Sandbox Code Playgroud)

现在我从不同的人那里得到这个,所以例如人2给我发送了另一个具有相同结构的消息

<root xmlns:anotherNs="http://foo">
    <anotherNs:child1>Another Text</anotherNs:child1>
    <anotherNs:child2>Another Number</anotherNs:child2>
</root>
Run Code Online (Sandbox Code Playgroud)

所以唯一的区别是名称空间的名称.如何使用一个XPath表达式为两个xml选择child2的内容​​?

像"/ root/child2"或"// child2"这样的东西不起作用.

JWi*_*ley 18

使用这样的local-name()功能:

//*[local-name()='child2']
Run Code Online (Sandbox Code Playgroud)