Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Xpath选择多个标记_Php_Xpath - Fatal编程技术网

Php Xpath选择多个标记

Php Xpath选择多个标记,php,xpath,Php,Xpath,我希望使用一个PHPDOMXPath查询来创建多个标记(td和th) 如何执行此操作?您可以使用|(联合)运算符。以下是一个例子: $doc = new DOMDocument(); $doc->loadHTML('<table> <tr> <th>table header</th> <td>table cell</td> </tr> </table>'); $xpath = new DOMX

我希望使用一个PHPDOMXPath查询来创建多个标记(td和th)


如何执行此操作?

您可以使用
|
(联合)运算符。以下是一个例子:

$doc = new DOMDocument();
$doc->loadHTML('<table>
<tr>
<th>table header</th>
<td>table cell</td>
</tr>
</table>');

$xpath = new DOMXPath($doc);

$rows = $xpath->query('//tr');                        // select all <tr> elements anywhere in the document
$cols = $xpath->query('./th | ./td', $rows->item(0)); // select all <th>/<td> from context
                                                      // where context = first row
echo $cols->length;             // 2
echo $cols->item(0)->nodeValue; // table header
echo $cols->item(1)->nodeValue; // table cell
$doc=newDOMDocument();
$doc->loadHTML($doc)
表头
表单元格
');
$xpath=新的DOMXPath($doc);
$rows=$xpath->query('//tr');//选择文档中任意位置的所有元素
$cols=$xpath->query('./th |/td',$rows->item(0));//从上下文中选择全部/全部
//其中context=第一行
echo$cols->length;//2.
echo$cols->item(0)->nodeValue;//表头
echo$cols->item(1)->nodeValue;//表单元格

您是否阅读了DOMPath的手册?