【发布时间】:2016-03-31 17:37:34
【问题描述】:
我无法在 xpath 中使用公式。这是重现问题的部分代码:
//$val['path_xml'] = "price + 1"
$valID = $result[$i]->xpath($val['path_xml']);
echo "<br>".$val['path_xml']."<br>";
echo $result[$i]->price."<br>";
echo json_encode($valID)."<br>";
代码的输出是:
price + 1 // as expected - the correct path
525000 // just for test to check if price exists
[] // empty array????
测试 2 - 只是为了确保一切正常:
//$val['path_xml'] = "price"
$valID = $result[$i]->xpath($val['path_xml']);
echo "<br>".$val['path_xml']."<br>";
echo $result[$i]->price."<br>";
echo json_encode($valID)."<br>";
输出:
price // correct
525000 // ok
[{"0":"525000"}] // OK
有人能告诉我为什么这些公式不起作用吗?也许需要更新版本的 PHP(目前为 5.6)或任何其他想法?
用这个在线工具检查过,效果很好:http://www.freeformatter.com/xpath-tester.html#ad-output
【问题讨论】:
-
XPath can find
price+1但是在 php 上并不是所有的 XPath 函数都实现了,所以你不能使用price+1。更新 PHP doesn't change it. -
@fusion3k 谢谢你的评论!!看来你是完全正确的!请将此添加为答案)