PHP-简单XML-嵌套层次结构

PHP-简单XML-嵌套层次结构,php,xml,simplexml,Php,Xml,Simplexml,我一直在使用PHP的简单XML函数处理XML文件 以下代码适用于简单的XML层次结构: $xml = simplexml_load_file("test.xml"); echo $xml->getName() . "<br />"; foreach($xml->children() as $child) { echo $child->getName() . ": " . $child . "<br />"; } $xml=simplexml

我一直在使用PHP的简单XML函数处理XML文件

以下代码适用于简单的XML层次结构:

$xml = simplexml_load_file("test.xml");

echo $xml->getName() . "<br />";

foreach($xml->children() as $child)
{
    echo $child->getName() . ": " . $child . "<br />";
}
$xml=simplexml\u load\u文件(“test.xml”);
echo$xml->getName()。“
”; foreach($xml->children()作为$child) { echo$child->getName()。“:”$child。“
”; }
这假设XML文档的结构如下所示:

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
</note>

托弗
贾尼
提醒
这个周末别忘了我!
但是,如果我的XML文档中有一个更复杂的结构,那么内容就不会输出。下面显示了一个更复杂的XML示例:

<note>
    <noteproperties>
        <notetype>
            TEST
        </notetype>
    </noteproperties>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
</note>

试验
托弗
贾尼
提醒
这个周末别忘了我!

我需要处理深度不确定的XML文件—有人能推荐一种方法吗?

这是因为您需要在

请查看以下示例:

$xml=新的SimpleXMLElement(
'
');
foreach($xml->children()作为$second\u gen){
回声“人生一个”。$second_gen[“角色”];
foreach($second\u gen->children()作为$third\u gen){
回声“谁生了一个”$third_gen[“角色”];
foreach($third\u gen->children()作为$fourth\u gen){
“echo”和那个“$third_gen['role']。
“生一个”.$fourth_gen[“角色”];
}
}
}
$xml = new SimpleXMLElement(
'<person>
     <child role="son">
         <child role="daughter"/>
     </child>
     <child role="daughter">
         <child role="son">
             <child role="son"/>
         </child>
     </child>
 </person>');

foreach ($xml->children() as $second_gen) {
    echo ' The person begot a ' . $second_gen['role'];

    foreach ($second_gen->children() as $third_gen) {
        echo ' who begot a ' . $third_gen['role'] . ';';

        foreach ($third_gen->children() as $fourth_gen) {
            echo ' and that ' . $third_gen['role'] .
                ' begot a ' . $fourth_gen['role'];
        }
    }
}