阅读量:0
使用SimpleXML进行XML元素遍历可以通过递归的方式来实现。以下是一个示例代码,演示如何遍历XML元素并输出其标签和值:
$xml = "<data> <item> <name>John</name> <age>30</age> </item> <item> <name>Jane</name> <age>25</age> </item> </data>"; // 将XML字符串转换为SimpleXMLElement对象 $xmlObj = simplexml_load_string($xml); // 递归遍历XML元素 function traverseXML($xmlObj, $depth = 0) { foreach ($xmlObj as $key => $value) { // 输出标签和值 echo str_repeat(" ", $depth) . $key . ": " . $value . "\n"; // 如果当前元素有子元素,则递归遍历子元素 if ($value->count() > 0) { traverseXML($value, $depth + 1); } } } // 调用遍历函数 traverseXML($xmlObj);
在上面的示例中,我们首先将XML字符串转换为SimpleXMLElement对象,然后定义了一个递归函数traverseXML
,该函数接受一个SimpleXMLElement对象和一个深度参数,用于控制缩进。在函数中,我们遍历每个元素,并输出其标签和值,并检查是否有子元素,如果有则递归调用traverseXML
函数。最后,我们调用traverseXML
函数来遍历XML元素。