Maison > développement back-end > Problème PHP > 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
Libérer: 2023-04-14 17:40:52
original
1776 Les gens l'ont consulté

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);
Copier après la connexion

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
                )
        )
)
Copier après la connexion

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);
Copier après la connexion

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
        )
)
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal