似乎PHP SimpleXML XPath
不允许获取XPath函数的结果:
$s = new 'SimpleXMLElement('<test><node>A</node><node>B</node></test>');
var_dump($s->xpath("count(node)"));
返回一个空数组:
array(0) {
}
使用 DOM 返回预期值 2 时:
$dom = new 'DOMDocument();
$dom->loadXML('<test><node>A</node><node>B</node></test>');
$xpath = new 'DOMXPath($dom);
var_dump($xpath->evaluate("count(node)"));
float(2.0)
有没有办法直接用SimpleXML做同样的事情?
PHP 的
SimpleXML 仅适用于返回节点集的查询。 count(...)
返回不支持的标量值。使用功能更强大的 DOMXPath 或计算结果数组中的对象:
var_dump(count($s->xpath("node")));
国际(2)