题
使用下面的xpath查询对属性应用字符串函数(例如“normalize-space”)的正确语法是什么?
查询:“./ @ media”
我在其他地方看过这个例子,但如果我尝试使用php的xpath库,它什么也不返回......
解决方案
在DOMXPath对象上使用 query()将总是导致节点集(包含在 DOMNodeList object),永远不会在字符串中。
您无法提取XPath函数的结果。您必须查询要处理的节点,并在PHP中处理它们。
其他提示
使用 evaluate()代替 query() 代码>。它将返回一个键入的结果。它自PHP 5.1开始提供。
$doc = new DOMDocument();
$xpath = new DOMXpath($doc);
$q = $xpath->evaluate('"test"');
var_dump($q);
输出:
string(4) "test"
./[normalize-space(@media)
请试一试。
这个怎么样?
normalize-space(./@media)
您也可以尝试:但我不认为这是必要的。
不隶属于 StackOverflow