【发布时间】:2022-02-13 00:09:15
【问题描述】:
选择文档所有节点的 xpath 表达式是什么?
鉴于此示例 XML:
<div class="header"/>
我包含三个节点:<div>(元素)、class=(属性)和"header"(文本)。
$doc = new DOMDocument;
$doc->loadXml('<div class="header"/>');
$xpath = new DOMXPath($doc);
我试过//node():
$xpath->query('//node()');
它只返回所有元素节点(我假设是因为//)。有没有办法在属性值中添加其他节点,如属性和文本节点?
补充例子:
我可以使用DOMDocument API 获取每个节点,例如获取属性值的文本节点:
$doc = new DOMDocument;
$doc->loadXml('<div class="header"/>');
$class = $doc->documentElement->getAttributeNode('class');
echo $class->childNodes->item(0)->nodeName;
这给出了:
#text
如何用一个 xpath 表达式获得所有节点的超集,尤其包括示例classattribute-node child text-node?p>
【问题讨论】:
标签: php xpath domdocument