次の 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]