【发布时间】:2015-06-05 20:40:31
【问题描述】:
我了解到每个 Xpath 表达式也是一个有效的 Xquery 表达式。我在这个示例 XML 中使用 Oxygen 16.1:
<actors>
<actor filmcount="4" sex="m" id="15">Anderson, Jeff</actor>
<actor filmcount="9" sex="m" id="38">Bishop, Kevin</actor>
</actors>
我的表达是:
//actor/@id
当我使用 Xpath 3.0 在 Oxygen 中评估这个表达式时,我得到了我所期望的结果:
15
38
但是,当我使用 Xquery 3.0(也是 1.0)评估此表达式时,我收到消息:“您的查询返回了一个空序列。
谁能提供任何关于为什么会这样的见解,以及我如何编写等效的 Xquery 语句来获得上面的 Xpath 语句的作用?
【问题讨论】:
-
您确定不要
//actors/actor/@id? -
//actors/@id在针对您使用兼容 XPath 引擎提供的内容运行时,肯定不会返回15或38。 -
您确定没有在 XPath 引擎中运行
//actor/@id或//actors//@id吗?如果您在本文档中为//actor/@id获得任何结果,您应该向 Oxygen 开发人员报告问题。 -
@Jens Erat 你想写 //actors/@id
-
是的,我当然想要。不能再编辑评论了。看来我对错字的猜测是正确的,阅读 cmets 的答案。