Maison >développement back-end >Problème PHP >Comment convertir XML en tableau en php
Méthode : utilisez d'abord simplexml_load_string() pour convertir la chaîne XML en un objet SimpleXMLElement ; puis utilisez json_encode() pour convertir l'objet en données JSON ; enfin, utilisez json_decode() pour convertir les données JSON en tableau.
L'environnement d'exploitation de ce tutoriel : système windows7, version PHP7.1, ordinateur DELL G3
php convert xml Pour le numéro de tableau
1. Fonction : La fonction
/* @desc:xml转数组 @param data xml字符串 @return arr 解析出的数组 */ function xmltoarray($data){ $obj = simplexml_load_string($data, 'SimpleXMLElement', LIBXML_NOCDATA); $json = json_encode($obj); $arr = json_decode($json, true); return $arr; }
simplexml_load_string() convertit une chaîne XML bien formée en un objet SimpleXMLElement.
json_encode() est utilisé pour encoder des variables JSON. Cette fonction renvoie des données JSON si elle est exécutée avec succès, sinon elle renvoie FALSE.
La fonction json_decode() est utilisée pour décoder une chaîne au format JSON et la convertir en variable PHP (objet ou tableau).
json_decode ($json_string [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
Paramètres
json_string : chaîne JSON à décoder, doit être des données codées en UTF-8
assoc : lorsque ce paramètre est TRUE, un tableau est renvoyé, et lorsqu'il est FALSE, un objet est renvoyé.
profondeur : paramètre de type entier, qui précise la profondeur de récursion.
options : masque binaire, actuellement seul JSON_BIGINT_AS_STRING est pris en charge.
2. Test :
a Code :
<?php $string = <<<XML <?xml version='1.0'?> <document> <title>Forty What?</title> <from>Joe</from> <to>Jane</to> <body> I know that's the answer -- but what's the question? </body> </document> XML; $arr = xmltoarray($string); var_dump($arr);
b.
Pour plus de connaissances sur la programmation, veuillez visiter :Vidéo de programmation ! !
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!