<tr>
<td>Blah!</td>
<td>X</td> <!-- TR containing X -->
<td>Woot!</td>
</tr>
<tr>
<td>Useful Data, contents unknown</td> <!-- Select this TR -->
</tr>
<tr>
<td>Useless data</td> <!-- Don't select this or any subsequent TR -->
</tr>
<tr>
<td>More crap I don't want</td>
</tr>
<tr>
<td>X</td> <!-- Another X -->
</tr>
<tr>
<td>Useful</td> <!-- Do select this one, since previous has X -->
</tr>
Xを含む<tr>
の直後に<tr>
を返すXPathはどれですか。
ChaosPandionとMartin v。Löwisの回答はどちらも、指定したサンプルで機能しますが、next trを要求している場合は、おそらく同じテーブルにさらにtr要素がある可能性があります。その場合、答えは以下または兄弟のすべてのtr要素を与えます。
また、サンプルではなく見出しの質問をすると、xpathはおそらくXがtdではなくthセルにあることを許可するはずです。そして、同じ親(thead、tbody、tfoot)内にある場合にのみ、次のtrが必要になると思います。
だから私は行きます
//tr[* = 'X']/following-sibling::tr[1]
これはうまくいくはずです。
tr[td/text() = 'X']/following-sibling::node()
//td[.='X']/following::tr