xpath:如何不匹配以下数据

时间:2011-01-30 03:49:58

标签: xpath

查看源代码,我的表格数据格式如下:

  <tr class="even">
    <td>apple</td>
    <td>pear</td>
    <td>orange</td>
    </tr>
    <tr class="odd">
    <td>apple</td>
    <td>pear</td>
    <td>&nbsp</TD>
    </tr>
  <tr class="even">
    <td>apple</td>
    <td>pear</td>
    <td>orange</td>
    </tr>

如何在发生错误的所有行中不匹配<td>包含&amp; nbsp?

1 个答案:

答案 0 :(得分:5)

实体&nbsp;不是XPath所知道的 - 最好使用它的等效(自定义)字符实体&#xA0;

选择顶部元素的所有td - table,不包含&nbsp;

 /table/tr/td[not(contains(., '&#xA0;'))]

要选择此表格的所有行,以使其td个孩子都不包含&nbsp;

 /table/tr[not(td[contains(., '&#xA0;')])]

要选择此表格中所有行的所有td子项,以使其td个孩子都不会&nbsp;使用

 /table/tr[not(td[contains(., '&#xA0;')])]/td