使用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元素。