@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

preceding-siblingを使用したXpathの記述方法

1
投稿者投稿内容
未記入
会議室デビュー日: 2008/06/17
投稿数: 3
投稿日時: 2008-06-26 02:08
preceding-siblingを使用したXpathの記述方法に関して質問です。
下記のようなXMLがあったと仮定します。

<root>
@<sample test="1">1</sample>
A<sample>2</sample>
B<sample>3</sample>
C<sample test="2">4</sample>
D<sample>5</sample>
E<sample>6</sample>
F<sample test="3">7</sample>
G<sample>8</sample>
H<sample>9</sample>
</root>
※@〜Hの数字は識別の為のものなので無視してください。


コンテキストノードがHの場合preceding-sibling::sample[@test]
という記述だと@の@test="1"を指定してしまいます。

これをFの@test="3"を指定するにはどうすれば良いでしょうか。
おわかりになる方がいらっしゃいましたらご教示ください。

よろしくお願いいたします。
スフレ
ぬし
会議室デビュー日: 2005/05/27
投稿数: 281
お住まい・勤務地: 東京
投稿日時: 2008-06-26 08:00
引用:

コンテキストノードがHの場合preceding-sibling::sample[@test]
という記述だと@の@test="1"を指定してしまいます。


いいえ、(1)(4)(7)の3つのsample要素が選択されているはずです。(test属性が選択されているわけではありません)

引用:

これをFの@test="3"を指定するにはどうすれば良いでしょうか。
おわかりになる方がいらっしゃいましたらご教示ください。



直前のものが欲しいなら[last()]を使えば良いのではないでしょうか。
1

スキルアップ/キャリアアップ(JOB@IT)