如何在PHP上解析许多根源的xml

时间:2014-10-02 23:25:27

标签: php xml parsing xml-parsing simplexml

我想阅读XML,但这个XML在同一个XML中有很多根源:

[obtenerResult] => 
<?xml version="1.0" encoding="utf-8"?>
   <node1>
     <node2></node2>
   </node1>
<?xml version="1.0" encoding="utf-8"?>
<node4>
    <node5></node5>
</node4>

如何在PHP上使用simplexml读取节点。

我尝试$rXML=simplexml_load_string($result->obtenerResult->node4);但它不起作用

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以操作字符串并将它们拆分为单独的XML文档,并分别遍历每个文档......

$result = '<?xml version="1.0" encoding="utf-8"?><node1><node2></node2></node1><?xml version="1.0" encoding="utf-8"?><node4><node5></node5></node4>';

$header = '<?xml version="1.0" encoding="utf-8"?>'; // Where to split the XML

foreach(array_filter(explode($header,$result)) as $xmlDocument)
{
  $xmlDocument = $header . $xmlDocument; // Restore the header
  var_dump($xmlDocument); // Work with each XML document here
}

(此代码假定XML标头相同)