【发布时间】:2010-10-04 05:28:29
【问题描述】:
我了解 selectNode/selectSingleNode 方法的名称实际上表明它们旨在返回一个节点,但是也许有一些其他方式或设置可用于使 XPath 评估器返回其他类型的数据(这也是有效的XPath 结果)
oDocument.selectSingleNode("'1'");抛出错误“表达式不返回 DOM 节点”
我想查询 oDocument.selectSingleNode("concat(@day, '-', @month, '-', @year") 并获得结果(这可以通过标准 DOM XPath API)。确实我可以查询节点,然后用 DOM 遍历它们,但是这样会效率低下。
【问题讨论】:
-
您能详细说明您要达到的目标吗?也许还有另一种方式存在?
-
我想查询 oDocument.selectSingleNode("concat(@day, '-', @month, '-', @year") 并获得结果(这可以通过标准 DOM XPath API ). 确实,我可以查询节点,然后用 DOM 遍历它们,但是这样会效率低下。
-
但是 "oDocument.selectSingleNode("concat(@day, '-', @month, '-', @year")" 暗示了一个上下文节点——它应该来自哪里?哪个节点的属性你指的是什么?我几乎无法想象有任何 selectSingleNode 实现实际上可以执行您在此处尝试的操作。
-
Tomalak,你是个聪明人,你确实明白自己在做什么。想象调用是在 Element 节点上完成的: oElement.selectSingleNode("concat(@day, '-', @month, '-', @year")
-
"concat(@day, '-', @month, '-', @year)" 确实返回一个字符串,而不是一个节点列表,故事结束,就 SelectSingleNode()被关注到。尝试 selectNodes("(@day | @month | @year)") 并在调用应用程序中连接它们。
标签: javascript dom xpath msxml