【发布时间】:2018-03-25 23:16:58
【问题描述】:
我正在尝试使用xpath 从加载的SimpleXMLElement 中获取数据。
然而,相同的代码在本地和开发服务器上产生不同的结果。有人能指出我要寻找什么的正确方向吗?
这是在两台服务器上运行的代码:
<?php
$xml = simplexml_load_string('<?xml version="1.0"?>
<document>
<ADDDATA>
<PAGEN>1</PAGEN>
<DOCN>123456789</DOCN>
<DATE>06.07.2017</DATE>
</ADDDATA>
</document>
');
$nodes = $xml->xpath('//DOCN');
var_dump($nodes);
本地结果(如预期):
array (size=1)
0 =>
object(SimpleXMLElement)[3]
public 0 => string '123456789' (length=9)
开发结果(wtf):
array(1) { [0]=> object(SimpleXMLElement)#2 (0) { } }
我的本地环境是:
OSX10.12.6homebrew/php/php56: stable 5.6.31 (bottled), HEADlibxml2: stable 2.9.5 (bottled), HEAD [keg-only]
我的服务器是:
Ubuntu 14.04.3 LTS (GNU/Linux 3.13.0-57-generic x86_64)PHP 5.5.9-1ubuntu4.16 (cli) (built: Apr 20 2016 14:31:27)/usr/lib/x86_64-linux-gnu/libxml2.so.2.9.1
版本的不同会产生不同的结果吗?
是否有一些我可能缺少的全局配置?
谢谢!
【问题讨论】:
-
使用
echo $nodes[0]->asXML();可能会提供一些更有用的输出。通常asXML()比var_dump提供更好的数据视图
标签: php xml linux macos simplexml