<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>
Run Code Online (Sandbox Code Playgroud)
什么XPath会<tr>
在<tr>
包含X之后立即返回?
Alo*_*hci 50
ChaosPandion和Martinv.Löwis的答案都适用于您提供的样本,但如果您要求下一个 tr,那么可能在某些情况下,同一表格中还有其他tr元素.在这种情况下,答案将给出以下所有或后续兄弟tr元素.
同样通过标题问题而不是样本,xpath应该允许X在th而不是td中.而且我猜你只需要以下tr,如果它在同一个父母(thead,tbody,tfoot)中.
所以我会去
//tr[* = 'X']/following-sibling::tr[1]
Run Code Online (Sandbox Code Playgroud)
Cha*_*ion 19
这应该工作.
tr[td/text() = 'X']/following-sibling::node()
Run Code Online (Sandbox Code Playgroud)