Php 使用DOMXPath刮表时出现问题
我有一张桌子,我正试着擦,看起来像这样:Php 使用DOMXPath刮表时出现问题,php,domxpath,Php,Domxpath,我有一张桌子,我正试着擦,看起来像这样: <table id="thisTable"> <tr> <td class="value1"></td> <td class="value2"></td> <td class="value3"></td> <td class="value4"></td> &
<table id="thisTable">
<tr>
<td class="value1"></td>
<td class="value2"></td>
<td class="value3"></td>
<td class="value4"></td>
</tr>
<tr>
<td class="value5"></td>
<td class="value6"></td>
</tr>
</table>
这是可行的,我得到了表的值,但是如何指定nodeValue的类呢?最终,我的目标是从
td
的value2
、value4
和value5
的内容中构建一个新表。展开xpath查询:
$class="value1";
$nodelist = $xpath->query('//*[@id="thisTable"][@class="$class"]');
注意:使用属性获取类的值不确定我是否理解正确,如果希望将value2、value4和value5的文本内容放在一行中,可以使用以下xpath:
(//td[@class='value2'] | //td[@class='value4'] | //td[@class='value5'])/text()
例如:
<table id="thisTable">
<tr>
<td class="value1"> 1111</td>
<td class="value2"> 222 </td>
<td class="value3">333 </td>
<td class="value4"> 444</td>
</tr>
<tr>
<td class="value5"> 555</td>
<td class="value6"> 666</td>
</tr>
</table>
1111
222
333
444
555
666
然后输出为:222444555
(//td[@class='value2'] | //td[@class='value4'] | //td[@class='value5'])/text()
<table id="thisTable">
<tr>
<td class="value1"> 1111</td>
<td class="value2"> 222 </td>
<td class="value3">333 </td>
<td class="value4"> 444</td>
</tr>
<tr>
<td class="value5"> 555</td>
<td class="value6"> 666</td>
</tr>
</table>