เราสามารถแก้ปัญหานี้ได้ด้วยฟังก์ชัน array_walk_recursive() ซึ่งเป็นฟังก์ชัน built-in ของ PHP ฟังก์ชันนี้แปลง Array ให้กลายเป็นเอกสาร XML โดย Key ของ Array จะกลายเป็นค่า (Value) และ Value ของ Array จะกลายเป็น Element ของ XML
มาสาธิตด้วยตัวอย่างง่ายๆ
ตัวอย่าง
<?php
$array = array (
'name' => 'alex',
'empdept' => 'account',
'address' => array (
'city' => 'michigan'
),
);
// สร้าง XML object พร้อม root element
$xml = new SimpleXMLElement('');
array_walk_recursive($array, array($xml, 'addChild'));
print $xml->asXML();
?>
ผลลัพธ์
<?xml version="1.0"?> <root> <name> alex </name> <empdept> account </empdept> <city> michigan </city> </root>
หมายเหตุ
หากเจอ error "Class 'SimpleXMLElement' not found" ให้ติดตั้งแพ็กเกจ php-xml, php-simplexml