Maison >développement back-end >tutoriel php >Comment puis-je convertir efficacement un tableau PHP multidimensionnel en un objet SimpleXML ?
Conversion de tableaux en SimpleXML en PHP
Lorsque vous travaillez avec des données XML en PHP, il peut être nécessaire de convertir des tableaux en objets SimpleXML pour faciliter traitement et manipulation.
Fonction pour Array to XML Conversion
Voici une fonction PHP qui peut être utilisée pour convertir des tableaux multidimensionnels en objets SimpleXML :
function array_to_xml( $data, &$xml_data ) { foreach( $data as $key => $value ) { if( is_array($value) ) { if( is_numeric($key) ){ $key = 'item'.$key; //dealing with <0/>..<n/> issues } $subnode = $xml_data->addChild($key); array_to_xml($value, $subnode); } else { $xml_data->addChild("$key",htmlspecialchars("$value")); } } }
Exemple d'utilisation
Considérez le tableau suivant :
$data = array('total_stud' => 500, 'student' => array( 0 => array( 'id' => 1, 'name' => 'abc', 'address' => array( 'city' => 'Pune', 'zip' => '411006' ) ), 1 => array( 'id' => 2, 'name' => 'xyz', 'address' => array( 'city' => 'Mumbai', 'zip' => '400906' ) ) ) );
Pour convertir ce tableau en XML, vous pouvez créer un Objet SimpleXMLElement :
$xml_data = new SimpleXMLElement('<?xml version="1.0"?><student_info></student_info>');
Ensuite, appelez la fonction array_to_xml :
array_to_xml($data, $xml_data);
Cela générera le XML suivant :
<?xml version="1.0"?> <student_info> <total_stud>500</total_stud> <student> <id>1</id> <name>abc</name> <address> <city>Pune</city> <zip>411006</zip> </address> </student> <student> <id>1</id> <name>abc</name> <address> <city>Mumbai</city> <zip>400906</zip> </address> </student> </student_info>
Vous pourrez ensuite enregistrer ou traiter le XML généré selon les besoins.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!