【问题标题】:XPath - Discard Certain Table RowsXPath - 丢弃某些表行
【发布时间】:2014-07-19 18:27:38
【问题描述】:

我正在使用 PHP DOM 和 DOMXPath 类。 这就是我的本质:

<table>
    <tr>
        <td><div> More data </div></td>
    </tr>
    <tr>
        <td><div> More data </div></td>
    </tr>
    <tr>
        <td><div> More data </div></td>
    </tr>
    <tr>
        <td><div> More data </div></td>
    </tr>
    // I want all of these removed
    <tr>
        <td class="className"></td> // Nothing between <td> tags here
    </tr>
    // Repeat N times
    .
    .
    .
    .
</table>

这是一种行模式,会重复很多次。

我想要的是一个 XPath 表达式,它将获取所有行,但像本例中的最后一行一样丢弃每一行。

要明确:不仅仅是最后一行,而是丢弃符合某些条件的每一行并返回其他行。

【问题讨论】:

  • 您忘记添加PHP DOM and DOMXPath 代码。
  • 我已经使用 DOM 来选择合适的表,所以这段代码不是问题。我没有任何 DOMXPath 代码,因为我不知道要写什么来解决这个问题。

标签: php dom xpath domxpath


【解决方案1】:

您可以使用normalize-space() 过滤掉空节点,例如:

/table/tr[normalize-space(.)]

【讨论】:

  • 这行得通,谢谢!我可以以某种方式使用 类属性来过滤掉该行吗?学习 XPath 的最佳在线资源是什么(在您看来)? W3CSchools 不是描述性的,也没有太多的例子。
猜你喜欢
  • 2011-08-26
  • 2018-11-10
  • 1970-01-01
  • 1970-01-01
  • 2016-10-31
  • 2018-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多