如果我告诉 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 的属性都表示同样的错误。)