5

ドキュメントに表示されるのと同じ順序で、すべての要素、テキストノード、およびコメントノードを選択するための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()');
4

2 に答える 2

5
//node()

何かの子であるすべてのノードを選択します。つまり、すべての要素、テキストノード、コメント、および処理命令(ただし、属性、名前空間ノード、またはドキュメントノードは除く)

于 2012-05-30T13:05:00.253 に答える
1

XMLドキュメントのテキストノードとコメントノードでテストされています。より効率的なアプローチがあるかもしれませんが、これは、ユニオンを使用して、要素、テキスト、およびコメントノードをドキュメント順に返します。

//*|//*/text()|//*/comment()
于 2012-05-30T11:08:30.597 に答える