当我尝试获取命名空间时,我得到了错误的结果,加载了SimpleXML扩展没有引发任何错误。SimpleXML加载无法获得命名空间
注意:在本地计算机上,我也无法重现,但在共享主机中它总是可重现的,请问有什么原因?
段:
<?php
$xmlString = <<<DATA
<?xml version="1.0" ?>
<some version="2.0" xmlns:a="test0" xmlns:b="test1" xmlns:c="test2"></some>
DATA;
$xml = simplexml_load_string($xmlString);
var_dump($xml->getDocNamespaces());
结果:
array(1) {
[""]=>
string(5) "test0"
}
预计: 得到
a=>test0,
b=>test1,
c=>test2
有simplexml的为什么不获取该命名空间的任何选项或理由?
P.S. 我试过使用simplexml_load_file,simplexml_import_dom(新的DomDocument - > loadXML ..),它们都返回相同的结果
P.S.2。
PHP Version 5.6.29
SimpleXML
Simplexml support enabled
Revision $Id: d7077fc935154236afb4fe70814ba358efdbdca4 $
Schema support enabled
当我运行代码,我得到如下: 阵列(3){[ “一”] = > string(5)“test0”[“b”] => string(5)“test1”[“c”] => string(5)“test2”} – Michael
无法重现此问题http://codepad.org/yzCD0rYO – NID
在本地机器上,我也无法重现,但在共享主机中它是一个重复性好,有什么理由? –