次の HTML コードの例を考えます。
<table>
<tr>
<td>
<div>Value 1</div>
</td>
<td>
<div>Value A</div>
</td>
</tr>
<tr>
<td>
<div>Value 1</div>
</td>
<td>
<div>Value B</div>
</td>
</tr>
<tr>
<td>
<div>Value A</div>
</td>
<td>
<div>Value 1</div>
</td>
</tr>
</table>
1列目のdivに「Value 1」、2列目のdivに「Value 2」を持つ(tr)要素を選択するxpath式を書くことはできますか? この例では、最初の行のみが必要です。
「値 1」の子孫を持つすべての行を取得すると、3 行すべてが取得されます。
「値 1」と「値 A」を持つ子孫を持つすべての行を取得すると、行 1 と 3 が取得されます。
重要なのは値だけではなく、順序でもあります。また、私の実際のケースでは、いくつかの列があり、チェックする必要がある列が並んでいない可能性があります。(たとえば、列 4 7 および 9 を確認する必要がある可能性があります)
私はこのようなものを探していると思いますが、うまくいきません(奇妙なフォーマットは読みやすさのためですが、それでも有効だと思います):
//table//tr
[
(.//div[position()=1 and text()='Value 1'])
and
(.//div[position()=2 and text()='Value A'])
]
position() の代わりに [1] と [2] も試しましたが、役に立ちませんでした。何か案は?ありがとう