在PHP中,我們可以使用遞歸函數來處理XML數據。下面是一個示例代碼:
<?php
function parseXML($xml) {
$result = [];
foreach ($xml->children() as $child) {
$result[$child->getName()] = is_object($child) ? parseXML($child) : (string)$child;
}
return $result;
}
$xmlString = '<root>
<item1>Value 1</item1>
<item2>
<subitem1>Subvalue 1</subitem1>
<subitem2>Subvalue 2</subitem2>
</item2>
</root>';
$xml = simplexml_load_string($xmlString);
$data = parseXML($xml);
print_r($data);
在這個示例中,我們定義了一個名為parseXML
的遞歸函數,該函數接收一個SimpleXMLElement對象作為參數,并將XML數據解析為一個關聯數組。遞歸函數會遍歷XML的每個子元素,并將其存儲為關聯數組的鍵值對。
然后,我們使用simplexml_load_string
函數將XML字符串加載為SimpleXMLElement對象,并將其傳遞給parseXML
函數。最后,我們打印解析后的數據。