简单 XML 较低级别的变量


SimpleXML Lower level variable

我正在逐级解析带有simple_xml_load_file()的文件。下面是示例结构:

<person name="Joe Smith" ...>
   <info age="19">
     <height val="1.85" />
   </info>
   <info age="19">
     <weight val="82" />
   </info>
   <info age="19">
     <build val="14" />
   </info>
</person>
...

当我解析时,我不会深入,因为我不需要。但是,我确实需要年龄,而无需浏览每个信息标签。我需要包含在<person>中的变量,只需要年龄。如果没有另一个循环,我将如何获得年龄?

$persons=$dom->person;
foreach($persons as $person){
   $name=$person['name'];
   $age=????
}

这应该可以完成这项工作:

foreach($dom->person as $person){
   $name=$person['name'];
   foreach($person->info as $info) {
       echo $info['age'] . '<br>';
   }
}

或者,如果您想在特定职位上获得一个年龄:

echo $person->info[0]['age']; // Gets age attribute of first <info> node