选择所有元素,文本节点和注释节点的XPath表达式的顺序与它们在文档中出现的顺序相同?
以下内容有效地选择了所有元素,但没有选择文本节点和注释节点:
var result = document.evaluate('//*', document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null),
index = -1;
while (++index < result.snapshotLength) {
console.log(result.snapshotItem(index));
}
是否可以执行以下操作? (注意:这是非功能性伪代码。)
document.evaluate('//* and text() and comment()');
答案 0 :(得分:5)
//node()
选择每个节点的子节点:即所有元素,文本节点,注释和处理指令(但不是属性,命名空间节点或文档节点)
答案 1 :(得分:1)
使用XML文档中的文本和注释节点进行测试。可能有一种更有效的方法,但这会以文档顺序返回元素,文本和注释节点,使用union:
//*|//*/text()|//*/comment()