Table des matières
1. simplexml_load_string()
2. simplexml_load_file()
3. xml_parse_into_struct()
4. Classe DOMDocument
Résumé
Maison développement back-end Problème PHP Comment convertir un document XML en tableau en PHP

Comment convertir un document XML en tableau en PHP

Apr 03, 2023 pm 04:25 PM

Dans le processus de développement PHP, le traitement XML est une opération très courante et PHP fournit de nombreuses fonctions et bibliothèques de classes pour le traitement XML. Parmi elles, la fonction de conversion de documents XML en tableaux PHP est une opération très importante, car elle permet d'utiliser facilement les données XML pour des opérations ultérieures et une analyse logique. Cet article abordera certaines fonctions couramment utilisées en PHP pour convertir des documents XML en tableaux PHP.

1. simplexml_load_string()

simplexml_load_string() est une fonction couramment utilisée en PHP, qui peut convertir des documents XML en objets XML simples en PHP. Cette fonction reçoit un document XML sous forme de chaîne et crée un objet XML simple en analysant le document. Voici un exemple simple :

$xml_string = "<students><student><name>Tom</name><age>18</age></student></students>";
$xml_object = simplexml_load_string($xml_string);
print_r($xml_object);
Copier après la connexion

Le code ci-dessus affichera les résultats suivants :

SimpleXMLElement Object
(
    [student] => SimpleXMLElement Object
        (
            [name] => Tom
            [age] => 18
        )
)
Copier après la connexion

Dans l'exemple ci-dessus, nous utilisons une chaîne XML comme paramètre de la fonction simplexml_load_string() et attribuons l'objet renvoyé à la variable $xml_object . Nous avons constaté que la valeur de $xml_object est un objet SimpleXMLElement, qui contient toutes les données du document XML.

Il est à noter que la fonction simplexml_load_string() est généralement utilisée pour le traitement simple de documents XML. Si votre document XML est plus complexe, il est recommandé d'utiliser d'autres fonctions de traitement XML et bibliothèques de classes.

2. simplexml_load_file()

La fonction simplexml_load_file() est très similaire à la fonction simplexml_load_string(). La seule différence est que la première analyse le document XML à partir du système de fichiers PHP. Ce qui suit est un exemple simple :

$xml_file = "students.xml";
$xml_object = simplexml_load_file($xml_file);
print_r($xml_object);
Copier après la connexion

Le code ci-dessus produira les résultats suivants :

SimpleXMLElement Object
(
    [student] => Array
        (
            [0] => SimpleXMLElement Object
                (
                    [name] => Tom
                    [age] => 18
                )
        )
)
Copier après la connexion

Dans l'exemple ci-dessus, nous utilisons la fonction simplexml_load_file() pour analyser un fichier XML dans un objet SimpleXMLElement et l'attribuer à l'objet $xml_object. variables. Cette fonction facilite l'analyse des fichiers XML du système de fichiers, mais vous devez également être conscient de la complexité des fichiers XML.

3. xml_parse_into_struct()

La fonction xml_parse_into_struct() est une fonction très couramment utilisée en PHP, qui peut analyser des documents XML dans des tableaux PHP. Différente des fonctions simplexml_load_string() et simplexml_load_file(), la fonction xml_parse_into_struct() renvoie un tableau bidimensionnel qui contient tous les éléments et attributs du document XML. Voici un exemple simple :

$xml_string = "<students><student><name>Tom</name><age>18</age></student></students>";
$xml_parser = xml_parser_create();
xml_parse_into_struct($xml_parser, $xml_string, $xml_array);
xml_parser_free($xml_parser);
print_r($xml_array);
Copier après la connexion

Le code ci-dessus produira les résultats suivants :

Array
(
    [0] => Array
        (
            [tag] => students
            [type] => open
            [level] => 1
        )

    [1] => Array
        (
            [tag] => student
            [type] => open
            [level] => 2
        )

    [2] => Array
        (
            [tag] => name
            [type] => complete
            [level] => 3
            [value] => Tom
        )

    [3] => Array
        (
            [tag] => age
            [type] => complete
            [level] => 3
            [value] => 18
        )

    [4] => Array
        (
            [tag] => student
            [type] => close
            [level] => 2
        )

    [5] => Array
        (
            [tag] => students
            [type] => close
            [level] => 1
        )
)
Copier après la connexion

Dans l'exemple ci-dessus, nous utilisons la fonction xml_parser_create() pour créer un analyseur XML, puis utilisons la fonction xml_parse_into_struct() pour convertir la chaîne XML analysée dans un tableau PHP et affectée à la variable $xml_array. Enfin, nous utilisons la fonction print_r() pour afficher la valeur du tableau $xml_array.

Il est à noter que la fonction xml_parse_into_struct() ne convient que pour analyser de petits documents XML. Pour les documents XML volumineux et complexes, il est recommandé d'utiliser d'autres fonctions ou bibliothèques d'analyse XML.

4. Classe DOMDocument

La classe DOMDocument est un analyseur XML très couramment utilisé et puissant en PHP. Il peut analyser des documents XML en objets DOM et fournit un ensemble d'API pour accéder et modifier les nœuds et les propriétés de cet objet. Voici un exemple simple :

$xml_string = "<students><student><name>Tom</name><age>18</age></student></students>";
$dom_document = new DOMDocument();
$dom_document->loadXML($xml_string);
$students = $dom_document->getElementsByTagName('student');
foreach ($students as $student) {
    $name = $student->getElementsByTagName('name')->item(0)->nodeValue;
    $age = $student->getElementsByTagName('age')->item(0)->nodeValue;
    echo "Name: $name, Age: $age";
}
Copier après la connexion

Le code ci-dessus produira les résultats suivants :

Name: Tom, Age: 18
Copier après la connexion

Dans l'exemple ci-dessus, nous utilisons la classe DOMDocument pour analyser la chaîne XML dans un objet DOM et utilisons la fonction getElementsByTagName() pour sélectionnez le nœud étudiant. Enfin, nous utilisons la propriété nodeValue pour obtenir la valeur du nœud et l'afficher à l'écran.

Il convient de noter que la classe DOMDocument fournit une multitude de méthodes et d'attributs pour exploiter et modifier les documents XML, ce qui en fait le meilleur choix pour l'analyse et le traitement XML.

Résumé

Dans cet article, nous avons détaillé quelques fonctions et bibliothèques courantes en PHP pour convertir des documents XML en tableaux PHP. Ces fonctions et bibliothèques de classes peuvent facilement utiliser des données XML pour des opérations ultérieures et des analyses logiques. En utilisation réelle, en fonction de la complexité du document XML et des scénarios d'utilisation, nous pouvons choisir différentes fonctions et bibliothèques de classes pour accomplir nos tâches de traitement 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 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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. PHP 8 JIT (juste à temps) Compilation: comment cela améliore les performances. Mar 25, 2025 am 10:37 AM

La compilation JIT de PHP 8 améliore les performances en compilant le code fréquemment exécuté en code machine, bénéficiant aux applications avec des calculs lourds et en réduisant les temps d'exécution.

OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. OWASP Top 10 PHP: Décrivez et atténue les vulnérabilités communes. Mar 26, 2025 pm 04:13 PM

L'article traite des 10 meilleures vulnérabilités de l'OWASP dans les stratégies PHP et d'atténuation. Les problèmes clés incluent l'injection, l'authentification brisée et les XS, avec des outils recommandés pour surveiller et sécuriser les applications PHP.

Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier. Téléchargements de fichiers sécurisés PHP: prévention des vulnérabilités liées au fichier. Mar 26, 2025 pm 04:18 PM

L'article traite de la sécurisation des téléchargements de fichiers PHP pour éviter les vulnérabilités comme l'injection de code. Il se concentre sur la validation du type de fichier, le stockage sécurisé et la gestion des erreurs pour améliorer la sécurité de l'application.

Encryption PHP: cryptage symétrique vs asymétrique. Encryption PHP: cryptage symétrique vs asymétrique. Mar 25, 2025 pm 03:12 PM

L'article traite du cryptage symétrique et asymétrique en PHP, en comparant leur aptitude, leurs performances et leurs différences de sécurité. Le chiffrement symétrique est plus rapide et adapté aux données en vrac, tandis que l'asymétrique est utilisé pour l'échange de clés sécurisé.

Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Authentification PHP & amp; Autorisation: mise en œuvre sécurisée. Mar 25, 2025 pm 03:06 PM

L'article examine la mise en œuvre d'authentification et d'autorisation robustes dans PHP pour empêcher un accès non autorisé, détaillant les meilleures pratiques et recommandant des outils d'amélioration de la sécurité.

Protection PHP CSRF: comment empêcher les attaques du CSRF. Protection PHP CSRF: comment empêcher les attaques du CSRF. Mar 25, 2025 pm 03:05 PM

L'article traite des stratégies pour prévenir les attaques du CSRF dans PHP, notamment en utilisant des jetons CSRF, des cookies de même site et une bonne gestion de session.

Quel est le but des déclarations préparées en PHP? Quel est le but des déclarations préparées en PHP? Mar 20, 2025 pm 04:47 PM

Les déclarations préparées dans PHP améliorent la sécurité et l'efficacité de la base de données en empêchant l'injection SQL et en améliorant les performances de la requête par compilation et réutilisation. Compilation de caractéristiques: 159

Limitation du taux de l'API PHP: stratégies de mise en œuvre. Limitation du taux de l'API PHP: stratégies de mise en œuvre. Mar 26, 2025 pm 04:16 PM

L'article traite des stratégies de mise en œuvre de la limitation du taux d'API en PHP, y compris des algorithmes comme un godet de jeton et un seau qui fuit, et en utilisant des bibliothèques comme Symfony / Rate-Limiter. Il couvre également la surveillance, l'ajustement dynamiquement des limites de taux et la main

See all articles