php - 如何使用 php xpath 获取节点的所有子节点?

标签 php html dom xpath descendant

在下面的代码中:

<tbody>
  <tr class='even'>
    <th>header 1</th>
    <td>11</td>
    <td>12</td>
  </tr>
  <tr class='even'>
    <th>header 2</th>
    <td>21</td>
    <td>22</td>
  </tr>
</tbody>

当我运行时,$xpath->query("//tr[@class='even']")

它只显示了 <th> 的内容标签。我不应该得到 <td> 的内容吗?同样,即 <tr> 中的所有内容标签?

如果不是,我怎样才能获得 td 而不必像这样单独编写:

$xpath->query("//tr[@class='even']/th")
$xpath->query("//tr[@class='even']/td")

最佳答案

您可以使用 * 选择器来选择任何标签。

$xpath->query("//tr[@class='even']/*")

上面的代码选择了 tr.even 的每个 child 。您也可以像底部代码一样使用 | (OR) 运算符。

$xpath->query("//tr[@class='even']/td | //tr[@class='even']/th");

关于php - 如何使用 php xpath 获取节点的所有子节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40060816/

相关文章:

php - 在 WooCommerce 中按照处理状态顺序发送其他电子邮件 (functions.php)

html - 不影响 HTML 文档的 CSS 代码

javascript - 创建嵌套元素

javascript - 是否可以使用 html5 将 MediaStream 转换为视频 blob

html - 添加侧边栏而不改变主要内容的对齐方式

javascript - child 的 child Javascript DOM

javascript - 这是innerHTML hack "valid"吗?

php - 非二部图中最大权重完美匹配的良好近似算法?

php - JQuery 链式选择实现

PHP 在具有多个表单输入的同一列中添加数据