Penukaran antara tatasusunan dan data XML adalah sangat biasa dalam PHP. Artikel ini akan memperkenalkan anda kepada beberapa cara untuk menukar tatasusunan PHP kepada format XML.
Pertama, kita boleh membina XML secara manual untuk penukaran. Secara khusus, kita boleh menggunakan sambungan DOM PHP untuk mencipta objek DOM mengikut struktur dokumen XML, dan kemudian memasukkan data tatasusunan ke dalam nod yang sepadan. Berikut ialah contoh mudah:
<?php $my_array = array( 'person' => array( 'name' => 'Jack', 'age' => 30, 'email' => 'jack@example.com', ), ); $doc = new DOMDocument(); $root = $doc->createElement('root'); $doc->appendChild($root); function array_to_xml($data, &$xml) { foreach($data as $key => $value) { if(is_array($value)) { $subnode = $xml->createElement($key); $xml->appendChild($subnode); array_to_xml($value, $subnode); } else { $xml->appendChild($xml->createElement($key,$value)); } } } array_to_xml($my_array, $root); echo $doc->saveXML(); ?>
PHP juga menyediakan cara yang lebih mudah menggunakan sambungan SimpleXML, yang boleh menukar tatasusunan bersekutu terus kepada XML . Berikut ialah kod contoh:
<?php $my_array = array( 'person' => array( 'name' => 'Jack', 'age' => 30, 'email' => 'jack@example.com', ), ); $xml = new SimpleXMLElement('<root/>'); function array_to_xml($data, &$xml) { foreach($data as $key => $value) { if(is_array($value)) { array_to_xml($value, $xml->addChild($key)); } else { $xml->addChild("$key",htmlspecialchars("$value")); } } } array_to_xml($my_array, $xml); echo $xml->asXML(); ?>
Pendekatan alternatif ialah menggunakan sambungan XMLWriter. XMLWriter boleh membantu kami mengawal proses penciptaan fail XML dengan lebih halus. Berikut ialah kod sampel:
<?php $my_array = array( 'person' => array( 'name' => 'Jack', 'age' => 30, 'email' => 'jack@example.com', ), ); $xml = new XMLWriter(); $xml->openMemory(); $xml->startDocument('1.0','UTF-8'); $xml->startElement('root'); function array_to_xml($data, &$xml) { foreach($data as $key => $value) { if(is_array($value)) { $xml->startElement($key); array_to_xml($value, $xml); $xml->endElement(); } else { $xml->writeElement($key, $value); } } } array_to_xml($my_array, $xml); $xml->endElement(); echo $xml->outputMemory(TRUE); ?>
Ringkasan
Di atas ialah tiga cara untuk menukar tatasusunan PHP kepada XML. Membina XML secara manual ialah kaedah yang paling membosankan, tetapi ia juga paling fleksibel, membenarkan kawalan terperinci ke atas proses penciptaan XML. SimpleXML ialah pilihan yang lebih mudah yang menukar tatasusunan bersekutu terus ke dalam format XML. XMLWriter boleh membantu kami mengawal proses penciptaan fail XML dengan lebih halus. Bergantung pada keperluan sebenar, anda boleh memilih satu atau lebih kaedah ini untuk menukar tatasusunan kepada format XML.
Atas ialah kandungan terperinci Bagaimana untuk menukar tatasusunan php kepada format xml. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!