xhtml - 什么 XPath 选择包含 X 的 <tr> 之后的下一个 <tr>?

标签 xhtml xpath

<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>

什么 XPath 将返回 <tr>紧接着<tr>包含X?

最佳答案

ChaosPandion 和 Martin v. Löwis 的答案都适用于您给出的示例,但如果您要求下一个 tr,那么在某些情况下,同一个表中可能还有更多 tr 元素。在这种情况下,答案将给出所有后续或后续同级 tr 元素。

同样按照标题问题而不是示例,xpath 可能应该允许 X 位于第 th 个单元格而不是 td 中。我猜你只需要以下 tr 如果它位于同一个父级(thead、tbody、tfoot)中。

所以我会选择

//tr[* = 'X']/following-sibling::tr[1]

关于xhtml - 什么 XPath 选择包含 X 的 <tr> 之后的下一个 <tr>?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1317721/

相关文章:

xml - 在根元素中定义 xmlns 时如何解析 xpath

c# - 无法使用 PhantomJS、Selenium 通过 XPath 将文本发送到 iFrame 元素

xslt - 使用xsl :for-each-group

javascript - 在 MS Word 文件中嵌入 HTML

java - 如何检测XPath代表的是叶节点或者节点集?

xml - XSL迭代平面XML结构

java - Seam 自动创建不起作用?

javascript - 如何有条件地使用javascript在网页上的选定单词上显示鼠标悬停工具提示?

javascript - 当用户点击使用 javascript 函数时显示一个 div

asp.net - 我怎样才能提高网站上嵌入的谷歌地图的加载速度?