我需要在xpath中指定名称空间吗?

时间:2019-01-31 06:46:00

标签: xpath

我正在阅读文档,似乎xsd方案和从XML生成其他格式的文件大多需要名称空间。但是我不明白我是否需要在XPATH中使用它们。没有什么可以阻止我指定没有名称空间的元素的路径。

1 个答案:

答案 0 :(得分:1)

不带名称空间的路径是空名称空间中元素的路径。没有什么可以阻止您指定没有名称空间的路径,但是这样的路径只能匹配没有名称空间的元素。

例如,/root/a/text()返回1,但是/root/ns:a/text()返回2

<root xmlns:ns="some:namespace">
  <a>1</a>
  <ns:a>2</ns:a>
</root>

可以通过/root/*[local-name()='a']/text()选择这两种文本。