xpath:按标记值查找所有祖先(查找所有具有单元格值的xhtml表)

时间:2013-10-17 10:51:43

标签: php xpath

我有一个带表格的xhtml页面。通常,其中一个在单元格中有文本“针文”。 如何获得所有这样的表?

<table class="content_table">
  <tr>
    <td>Column 1</td>
    <td>Column 2</td>
  </tr>
  <tr>
     <td>Value 11</td>
     <td>Value 21</td></tr>
  <tr>
    <td><a href="link.html">needle text</a></td>
    <td>Value 22</td>
  </tr>
</table>

注意:表格可以带有标签:thead,th等

  1. 从xhtml页面收集所有表格 - 使用"//*[@class='content_table']"完成。
  2. 使用文本找到节点,但没有成功。我试过用 //alink[text() = "needle text"]但结果空洞。
  3. 在父树的父级中查找表作为祖先 //alink[text() = "needle text"]/..

1 个答案:

答案 0 :(得分:2)

您可以尝试以下 XPATH

//a[.='needle text']/ancestor::table[1][@class='content_table']

//table[@class='content_table' and .//a[.='needle text']]