【问题标题】:Simplexml xpath formula not workingSimplexml xpath 公式不起作用
【发布时间】: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 谢谢你的评论!!看来你是完全正确的!请将此添加为答案)

标签: php xpath simplexml


【解决方案1】:

fusion3k 的正确答案:XPath 可以找到 price+1,但在 php 上并非所有 XPath 函数都已实现,因此您不能使用 price+1。更新 PHP 不会改变它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-08
    • 1970-01-01
    • 2018-06-05
    • 1970-01-01
    相关资源
    最近更新 更多