0

我一直在寻找这个,但似乎无法找到答案。我有一个相当复杂的 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>

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

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

4

1 回答 1

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);

不管你有多少级别或结构是什么......只要它有效,你就会得到一个可以使用的对象。

于 2012-06-05T18:51:42.077 回答