1

如果我告诉 XPath 求值器我想要一个XPathResult.FIRST_ORDERED_NODE_TYPE(8) 或ANY_UNORDERED_NODE_TYPE(9),我得到了该body元素,正如预期的那样——但所有其他结果类型都会产生一个The expression cannot be converted to return the specified type.异常(在 Firefox 中;WebKit 和 Opera 似乎不那么慷慨,只满足于而是命名它TYPE_ERR: DOM XPath Exception 52

到底是怎么回事?并且,为了清楚起见重新表述问题:为什么选择上下文节点是一个类型错误,而不是清楚地推断为单节点结果,这从 XPath 表达式本身(".",的同义词"self::node()")显而易见,至少对我自己来说是一个人?

(作为参考,触发错误的不是.singleNodeValue具体访问——所有 XPathResult 的属性都表示同样的错误。)

4

1 回答 1

1

那么有一个规范http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathResult-singleNodeValue清楚地说明singleNodeValue如果 resultType 不是 ANY_UNORDERED_NODE_TYPE 或FIRST_ORDERED_NODE_TYPE。”。实现遵循该规范。

于 2012-11-24T10:45:38.823 回答