XPath: テキストノードを選択する 質問する

XPath: テキストノードを選択する 質問する

次の XML があるとします。

<node>Text1<subnode/>text2</node>

XPath 経由で最初のテキスト ノードまたは 2 番目のテキスト ノードを選択するにはどうすればよいですか?

このようなもの:

/node/text()[2]

もちろん、これはノード内のすべてのテキストが結合された結果なので機能しません。

ベストアンサー1

次の XML があるとします。

<node>Text1<subnode/>text2</node> 

XPath 経由で最初のテキスト ノードまたは 2 番目のテキスト ノードを選択するにはどうすればよいですか?

使用:

/node/text()

これは、XML ドキュメントの最上位要素 (「node」という名前) のすべてのテキスト ノードの子を選択します。

/node/text()[1]

これは、XML ドキュメントの最上位要素 (「node」という名前) の最初のテキスト ノードの子を選択します。

/node/text()[2]

これは、XML ドキュメントの最上位要素 (「node」という名前) の 2 番目のテキスト ノードの子を選択します。

/node/text()[someInteger]

これは、XML ドキュメントの最上位要素 (「node」という名前) の someInteger 番目のテキスト ノードの子を選択します。これは、次の XPath 式と同等です。

/node/text()[position() = someInteger]

おすすめ記事