在下面的代码中:
<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/