在MD数组中使用php解析复杂的xml

时间:2012-06-05 18:47:40

标签: php xml arrays parsing

我一直在寻找这个,但似乎找不到答案。 我有一个相当复杂的XML文档,我需要用PHP解析。 XML的结构如下所示:

<root>

<main id="1"> *some data*

<sub id="1"> *some data*
    <sub id="2"> *some data*
        <sub id="3"> *some data*
            <sub id="4"> *some data* </sub>
            <sub id="5"> *some data* </sub>
        </sub>
    </sub>
</sub>

</main>

</root>

将此文档解析为具有相同结构的多维数组非常重要。

然而,有一个问题。没有办法知道第一个标签内有多少个子级别,如果有的话。该文档由另一个系统动态创建,每个 main 标记的子结构不同 我尝试使用SimpleXMLElement,但它只解析了第一级,即 main 标记和第一个 sub 标记之间的数据。

1 个答案:

答案 0 :(得分:0)

尝试simplexml_load_string()

<?php
$string = <<<XML
<?xml version='1.0'?> 
<document>
 <title>Forty What?</title>
 <from>Joe</from>
 <to>Jane</to>
 <body>
  I know that's the answer -- but what's the question?
 </body>
</document>
XML;

$xml = simplexml_load_string($string);

print_r($xml);

无论您有多少级别或结构是什么......只要它有效,您将获得一个可以使用的对象。