2

这是我从服务器获得的 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

但是当我在根级别声明所有命名空间时,这个表达式给出了结果。

4

1 回答 1

0

可能有一些更干净的方法可以做到这一点(我希望其他人知道)但以下也可以完成:

//ns1:tag1/node()[local-name() = 'tag2' and namespace-uri() = 'http://samples.com']/node()[local-name() = 'tag3' and namespace-uri() = 'http://samples.edu']
于 2013-08-11T18:02:57.140 回答