Comment convertir XML en tableau en php
Dans le processus de programmation avec PHP, les fichiers XML sont souvent utilisés, mais tous les développeurs ne sont pas familiers avec les règles de syntaxe des fichiers XML, les fichiers XML doivent donc être convertis en tableaux pour le traitement. Voici comment convertir un fichier XML en tableau à l'aide de PHP.
1. Utilisez la fonction d'extension SimpleXML
La fonction d'extension SimpleXML est une extension d'analyse XML fournie avec PHP. Elle peut analyser le fichier XML en un objet, puis convertir l'objet en un tableau.
Les étapes pour utiliser la fonction d'extension SimpleXML sont les suivantes :
- Utilisez la fonction simplexml_load_file() pour charger le fichier XML. L'exemple de code est le suivant :
$xml = simplexml_load_file('example.xml');
- Convertissez l'objet SimpleXML en un tableau. L'exemple de code est le suivant :
$array = json_decode(json_encode($xml), TRUE);
Parmi eux, json_decode La fonction () est une fonction qui convertit une chaîne au format JSON en un tableau PHP. La fonction json_encode() sérialise un tableau PHP dans une chaîne au format JSON. Ici, nous sérialisons l'objet SimpleXML dans une chaîne au format JSON, puis l'analysons dans un tableau PHP.
- Traitez le tableau converti et implémentez la logique métier.
2. Utilisez la classe DOMDocument
DOMDocument est une extension d'analyse DOM fournie avec PHP. Elle peut analyser les fichiers XML dans une structure arborescente, puis trouver les nœuds dont nous avons besoin pour le traitement.
Les étapes pour utiliser la classe DOMDocument sont les suivantes :
- Utilisez la méthode load() pour charger le fichier XML. L'exemple de code est le suivant :
$dom = new DOMDocument(); $dom->load('example.xml');
- Obtenez le nœud racine. suit :
$root = $dom->documentElement;
- Traversez chaque élément sous le nœud racine du nœud enfant, convertissez le nom et la valeur du nœud en un tableau.
L'exemple de code est le suivant :
$array = array(); if ($root->hasChildNodes()) { $children = $root->childNodes; for ($i = 0; $i < $children->length; $i++) { $child = $children->item($i); $array[$child->nodeName] = $child->nodeValue; } }
Dans le code ci-dessus, nous créons d'abord un tableau vide, puis parcourons chaque nœud enfant sous le nœud racine. Si le nœud enfant n'est pas vide, alors nous stockons son nom et sa valeur dans un tableau.
- Traitez le tableau converti et implémentez la logique métier.
3. Utilisez la classe XML Parser
XML Parser est un analyseur XML fourni avec PHP. Il peut analyser les fichiers XML en flux d'événements, puis nous pouvons traiter ce fichier XML en fonction du type d'événement.
Les étapes pour utiliser XML Parser sont les suivantes :
- Créez un objet analyseur XML, l'exemple de code est le suivant :
$xml_parser = xml_parser_create();
- Définissez la fonction de gestionnaire d'événements, l'exemple de code est le suivant :
function startElement($parser, $element_name, $element_attrs) { //处理元素开始事件 } function endElement($parser, $element_name) { //处理元素结束事件 } function charData($parser, $data) { //处理文本内容事件 } xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_set_character_data_handler($xml_parser, "charData");
Dans le code ci-dessus, nous définissons trois fonctions de traitement : startElement() est utilisé pour traiter les événements de début d'élément, endElement() est utilisé pour traiter les événements de fin d'élément et charData() est utilisé pour traiter les événements de contenu texte. Ensuite, nous enregistrons ces trois fonctions de traitement dans l'analyseur XML.
- Analyser les fichiers XML, l'exemple de code est le suivant :
$fp = fopen('example.xml', 'r'); while ($data = fread($fp, 4096)) { xml_parse($xml_parser, $data, feof($fp)); }
Dans le code ci-dessus, nous lisons d'abord le fichier XML dans la mémoire en mode binaire, puis transmettons progressivement les morceaux de données à l'analyseur XML pour analyse.
- Traitez le tableau converti et implémentez la logique métier.
Résumé :
Les trois méthodes ci-dessus permettent de convertir des fichiers XML en tableaux. Les développeurs peuvent choisir la méthode appropriée en fonction des besoins réels. Lors de l'utilisation de la fonction d'extension SimpleXML et de la classe DOMDocument, PHP occupera une grande quantité de mémoire et de ressources CPU, tandis que l'utilisation de la classe XML Parser peut économiser de la mémoire et des ressources CPU, mais nécessite l'écriture de plus de fonctions de traitement.
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Sujets chauds





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.

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.

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.

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é.

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é.

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

L'article traite des meilleures pratiques pour la validation des entrées PHP pour améliorer la sécurité, en se concentrant sur des techniques telles que l'utilisation de fonctions intégrées, une approche de liste blanche et une validation côté serveur.

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.
