Maison  >  Article  >  développement back-end  >  Comment convertir des données XML en tableau en php (deux méthodes)

Comment convertir des données XML en tableau en php (deux méthodes)

PHPz
PHPzoriginal
2023-04-14 17:40:271764parcourir

PHP est un langage de programmation largement utilisé pour la programmation côté serveur, tandis que XML est un langage de balisage extensible utilisé par de nombreuses applications pour stocker et transmettre des données. En PHP, nous pouvons facilement convertir du XML en tableau. Grâce à cette technologie, nous pouvons facilement traiter et manipuler des données XML.

PHP fournit plusieurs méthodes pour convertir du XML en tableaux. Ci-dessous, nous présenterons deux des méthodes couramment utilisées.

Méthode 1 : Utiliser une extension XML simple

L'extension XML simple est une extension fournie avec PHP, qui peut nous aider à convertir rapidement des données XML en tableaux PHP. Il suffit d'appeler la fonction simplexml_load_string(), qui renverra un objet SimpleXMLElement basé sur la chaîne XML. Nous pouvons obtenir des données XML via les propriétés et méthodes de l'objet.

Ce qui suit est un exemple simple :

$xmlString = '<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="COOKING">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="CHILDREN">
    <title lang="en">Harry Potter</title>
    <author>J.K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
</bookstore>';

$xml = simplexml_load_string($xmlString);

print_r($xml);

Le résultat de sortie est le suivant :

SimpleXMLElement Object
(
    [book] => Array
        (
            [0] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [category] => COOKING
                        )

                    [title] => Everyday Italian
                    [author] => Giada De Laurentiis
                    [year] => 2005
                    [price] => 30.00
                )

            [1] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [category] => CHILDREN
                        )

                    [title] => Harry Potter
                    [author] => J.K. Rowling
                    [year] => 2005
                    [price] => 29.99
                )
        )
)

Nous pouvons voir que l'objet SimpleXMLElement est converti en tableau, chaque nœud devient un élément du tableau, et son attribut devient également un paire clé-valeur.

Méthode 2 : Utiliser l'extension PHP DOM

L'extension PHP DOM est une extension PHP largement utilisée qui peut être utilisée pour traiter et manipuler des documents XML et HTML. Nous pouvons utiliser les méthodes qu'il fournit pour convertir des fichiers XML en objets DOM, puis les convertir en tableaux via des méthodes liées au DOM.

Ce qui suit est un exemple simple :

$xmlString = '<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="COOKING">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="CHILDREN">
    <title lang="en">Harry Potter</title>
    <author>J.K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
</bookstore>';

$dom = new DOMDocument();
$dom->loadXML($xmlString);
$books = $dom->getElementsByTagName('book');
$data = array();

foreach ($books as $book) {
    $bookData = array(
        'category' => $book->getAttribute('category'),
        'title' => $book->getElementsByTagName('title')->item(0)->nodeValue,
        'author' => $book->getElementsByTagName('author')->item(0)->nodeValue,
        'year' => $book->getElementsByTagName('year')->item(0)->nodeValue,
        'price' => $book->getElementsByTagName('price')->item(0)->nodeValue
    );

    $data[] = $bookData;
}

print_r($data);

Le résultat est le suivant :

Array
(
    [0] => Array
        (
            [category] => COOKING
            [title] => Everyday Italian
            [author] => Giada De Laurentiis
            [year] => 2005
            [price] => 30.00
        )

    [1] => Array
        (
            [category] => CHILDREN
            [title] => Harry Potter
            [author] => J.K. Rowling
            [year] => 2005
            [price] => 29.99
        )
)

Nous pouvons voir qu'en utilisant l'extension PHP DOM, nous pouvons convertir le fichier XML en un objet DOM et utiliser les méthodes fournies par l'objet DOM. pour obtenir chaque La valeur du nœud est finalement convertie en un tableau PHP.

Résumé

Que vous utilisiez une simple extension XML ou une extension PHP DOM, vous pouvez facilement convertir des fichiers XML en tableaux PHP. Il suffit de choisir la méthode appropriée en fonction de nos besoins. En utilisant des tableaux PHP, nous pouvons facilement traiter et manipuler des données XML.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Que signifie type en phpArticle suivant:Que signifie type en php