Convertir XML en tableau en PHP
-
Utilisez les fonctions
simplexml_load_string()
,json_encode()
etjson_decode()
pour convertir XML en tableau en PHP -
Utilisez la fonction
simplexml_load_file()
et transposez-la dans un tableau pour convertir XML en tableau en PHP
Ce tutoriel présentera comment convertir XML en un tableau en PHP.
Utilisez les fonctions simplexml_load_string()
, json_encode()
et json_decode()
pour convertir XML en tableau en PHP
Nous pouvons représenter les données XML sous la forme d’un tableau PHP avec une série de conversions.
Nous pouvons utiliser la fonction simplexml_load_string()
pour interpréter la chaîne XML comme un objet. La fonction prend la chaîne XML comme premier paramètre.
Nous pouvons spécifier une classe comme deuxième option. La fonction retournera l’objet de la classe spécifiée. Le troisième paramètre de la fonction sont les constantes LIBXML
.
Ensuite, nous devons convertir l’objet en JSON à l’aide de la fonction json_encode()
. Pour la dernière partie, nous pouvons utiliser la fonction json_decode()
avec le paramètre TRUE
pour convertir le JSON en un tableau.
Par exemple, considérons les données XML suivantes.
<students>
<bachelors>
<name>Jack</name>
<name>Hari</name>
</bachelors>
<masters>
<name>Sia</name>
<name>Paul</name>
</masters>
</students>
Créez une variable $xmlstr
et stockez tout le XML sous forme de chaîne dans la variable. Ensuite, créez une autre variable $XML
et affectez-lui la fonction simplexml_load_string()
.
Dans la fonction, définissez le $xmlstr
comme premier paramètre et définissez SimpleXMLElement
comme classe et LIBXML_NOCDATA
comme troisième paramètre. Ensuite, convertissez $XML
en JSON à l’aide de la fonction json_encode()
.
Ensuite, convertissez le JSON en tableau avec la fonction json_decode()
. N’oubliez pas d’inclure TRUE
comme deuxième paramètre de la fonction json_decode()
. Enfin, imprimez le tableau.
Ici, la constante LIBXML_NOCDATA
fusionne les données de caractères (CDATA) en tant que nœuds de texte. Ainsi, nous pouvons convertir XML en un tableau PHP en utilisant ces différentes fonctions PHP.
$xmlstr ='
<students>
<bachelors>
<name>Jack</name>
<name>Hari</name>
</bachelors>
<masters>
<name>Sia</name>
<name>Paul</name>
</masters>
</students>';
$XML = simplexml_load_string($xmlstr, "SimpleXMLElement", LIBXML_NOCDATA);
$json = json_encode($XML);
$arr = json_decode($json,TRUE);
print_r($arr);
Production :
Array ( [bachelors] => Array ( [name] => Array ( [0] => Jack [1] => Hari ) ) [masters] => Array ( [name] => Array ( [0] => Sia [1] => Paul ) ) )
Utilisez la fonction simplexml_load_file()
et transposez-la dans un tableau pour convertir XML en tableau en PHP
Nous pouvons utiliser la fonction simplexml_load_file()
pour interpréter le XML dans un objet. Ensuite, nous pouvons convertir l’objet en un tableau en le transtypant.
La fonction prend le chemin du fichier XML comme premier paramètre. La fonction est presque similaire à la fonction simplexml_load_string()
. Nous pouvons créer un fichier XML et utiliser son chemin dans la fonction simplexml_load_file()
.
Par exemple, nous pouvons utiliser le même fichier XML dans la première méthode, enregistrer le fichier XML sous file.xml
, et créer une variable $XML
en PHP. Affectez le simplexml_load_file()
à la variable avec file.xml
comme paramètre.
Ensuite, créez une variable $arr
et transtypez la variable $XML
dans un tableau. Affectez le tableau transtypé à la variable $arr
. Enfin, imprimez la variable $arr
à l’aide de la fonction print_r()
.
De cette façon, nous pouvons utiliser la fonction simplexml_load_file()
pour charger le fichier XML et le convertir en un tableau.
$XML = simplexml_load_file('file.xml');
$arr = (array)$XML;
print_r($arr);
Production :
Array ( [bachelors] => SimpleXMLElement Object ( [name] => Array ( [0] => Jack [1] => Hari ) ) [masters] => SimpleXMLElement Object ( [name] => Array ( [0] => Sia [1] => Paul ) ) )
Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.
LinkedInArticle connexe - PHP XML
Article connexe - PHP Array
- Comment déterminer la première et la dernière itération d'une boucle de foreach dans le PSP
- Comment convertir un tableau en chaîne de caractères en PHP
- Comment obtenir le premier élément d'un tableau en PHP
- Comment faire écho ou imprimer un tableau en PHP
- Comment supprimer un élément d'un tableau en PHP
- Comment supprimer des éléments de tableau vides en PHP