【发布时间】:2016-03-04 09:13:36
【问题描述】:
我必须做一些练习,但是 我不太明白两条相似路径之间的区别
我有树:
<b>
<t></t>
<a>
<n></n>
<p></p>
<p></p>
</a>
<a>
<n></n>
<p></p>
</a>
<a></a>
</b>
我们期望每个最终标签都包含一个文本节点。
我要解释一下 //a//text() 和 //a/text() 之间的区别
我看到 //a//text() 返回所有文本节点,它看起来是合法的, 但是为什么 //a/text() 返回最后一个“a 节点”-> 文本节点?
另一个问题: 为什么 //p[1] 为每个“a node”返回第一个“p”子节点? -> 我有两个结果
<b>
<t></t>
<a>
<n></n>
**<p></p>**
<p></p>
</a>
<a>
<n></n>
**<p></p>**
</a>
<a></a>
</b>
为什么答案不是整个文档的第一个“p”节点?
谢谢大家!
【问题讨论】:
-
我对你的问题投了反对票有几个原因:输入错误(根本没有文本节点?),使用不相关的标签(xquery 似乎与普通 XPath 无关)。如果您想知道不同的查询结果,也请发布这些结果。如果您有一些预期的输出,也将其发布(此处不适用)。如果问题被重新修改,我很乐意回复否决票,但它肯定是无法回答的。
-
我仍然没有在您的文档中看到任何文本节点。您查询的实际输入是什么?
标签: xpath