我一直在寻找这个,但似乎找不到答案。 我有一个相当复杂的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 标记之间的数据。
答案 0 :(得分:0)
<?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);
无论您有多少级别或结构是什么......只要它有效,您将获得一个可以使用的对象。