Php SimpleXML加载无法获取名称空间
当我尝试获取名称空间时,我得到了一个错误的结果,SimpleXML扩展被加载,没有抛出错误Php SimpleXML加载无法获取名称空间,php,namespaces,simplexml,Php,Namespaces,Simplexml,当我尝试获取名称空间时,我得到了一个错误的结果,SimpleXML扩展被加载,没有抛出错误 注意:在本地机器上,我也不能复制,但在共享主机上它总是可以复制的,有什么原因吗 片段: <?php $xmlString = <<<DATA <?xml version="1.0" ?> <some version="2.0" xmlns:a="test0" xmlns:b="test1" xmlns:c="test2"></some> DAT
注意:在本地机器上,我也不能复制,但在共享主机上它总是可以复制的,有什么原因吗 片段:
<?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());
预期:
得到
simplexml不获取该名称空间有什么选择或原因吗
附言。
我尝试过使用simplexml\u load\u file、simplexml\u import\u dom(new DomDocument->loadXML..),它们都返回相同的结果
p.S.2
PHP Version 5.6.29
SimpleXML
Simplexml support enabled
Revision $Id: d7077fc935154236afb4fe70814ba358efdbdca4 $
Schema support enabled
试试这个:
我已将true添加到getDocNamespaces(true)
当我运行你的代码时,我得到如下结果:数组(3){[“a”]=>string(5)“test0”[“b”]=>string(5)“test1”[“c”]=>string(5)“test2”}无法在本地机器上重现这个问题,我也无法重现,但在共享主机中它总是可重现的,有什么原因吗?正如我在phpinfo ecbiz102.inmotionhosting.com中看到的那样,phpinfo看起来很好,但无论如何名称空间都不起作用。尝试一下这个应该会有帮助,我会接受答案,但问题仍然存在,我认为托管PHP配置或一些编译修改的唯一原因。当地一切正常。因此,目前我们可以使用XMLReader或无名称空间解析。谢谢你的帮助。
a=>test0,
b=>test1,
c=>test2
PHP Version 5.6.29
SimpleXML
Simplexml support enabled
Revision $Id: d7077fc935154236afb4fe70814ba358efdbdca4 $
Schema support enabled
<?php
$xml = <<<XML
<?xml version="1.0" standalone="yes"?>
<some version="2.0" xmlns:a="test0" xmlns:b="test1" xmlns:c="test2"></some>
XML;
$sxe = new SimpleXMLElement($xml);
$namespaces = $sxe->getDocNamespaces(TRUE);
var_dump($namespaces);
?>