XPath根据上方td的内部Text选择表中的td节点

时间:2018-07-18 18:44:37

标签: xpath html-table

我有一个带有一些表的HTML文档:

<table>
    <tr>
        <td>Some text that is important</td>
    </tr>
    <tr>
        <td height="50" class="content">Some text</td>
        <td height="100" class="content">Some other text</td>
    </tr>
</table>
<table>
    <tr>
        <td>Some text that is not important</td>
    </tr>
    <tr>
        <td height="50" class="content">Some text</td>
        <td height="100" class="content">Some other text</td>
    </tr>
</table>

当表中的另一个<td>包含“某些重要文本”时,我想从具有属性height="50"class="content"的表中提取所有<td>标记

我尝试了很多事情,但是我做得不太正确。

2 个答案:

答案 0 :(得分:0)

使用以下XPath-1.0表达式获取所需的table节点的td标签:

//table[tr/td[@height='50' and @class='content'] and contains(tr/td/text(),'Some text that is important')]/tr/td

这将检索第一个table节点的td
其输出是匹配的td节点的所有 table标签

<td>Some text that is important</td>
<td height="50" class="content">Some text</td>
<td height="100" class="content">Some other text</td>

答案 1 :(得分:0)

尝试在XPath下获取所需的输出:

//tr[td="Some text that is important"]/following-sibling::tr/td[@height='50' and @class='content']