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

How to get all childs of a node using php xpath?

在下面的代码中:

<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")

您可以使用 * select 或者 select 任何标签。

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

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

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