这是我从服务器获得的XML结果。
<ns1:tag1 xmlns:ns1="http://samples.org">
<ns2:tag2 xmlns:ns2="http://samples.com">
<ns3:tag3 xmlns:ns3="http://samples.edu">chanaka</ns3:tag3>
</ns2:tag2>
</ns1:tag1>
这里我想从xpath表达式中获取值tag3。我尝试了以下xpath表达式,但它没有用。
//ns1:tag1/ns2:tag2/ns3:tag3
但是当我在根级别声明所有名称空间时,这个表达式给出了结果。
答案 0 :(得分:0)
可能有一些更清洁的方法(我希望其他人知道)但是跟随也可以找到一份工作:
//ns1:tag1/node()[local-name() = 'tag2' and namespace-uri() = 'http://samples.com']/node()[local-name() = 'tag3' and namespace-uri() = 'http://samples.edu']