如何使用 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");
在下面的代码中:
<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");