Maison  >  Article  >  développement back-end  >  Travailler avec XML en PHP : Comment analyser XML et créer des documents XML

Travailler avec XML en PHP : Comment analyser XML et créer des documents XML

PHPz
PHPzoriginal
2023-06-19 17:02:151242parcourir

XML (Extensible Markup Language) est un format de données courant largement utilisé dans le développement Web. En PHP, l'utilisation de XML est très courante, donc apprendre à analyser XML et à créer des documents XML est très important pour les développeurs PHP.

Cet article vous présentera les méthodes de base d'analyse XML et de création de documents XML en PHP.

  1. Parsing XML

Il existe deux façons d'analyser XML : basée sur DOM et basée sur SAX. DOM (Document Object Model) représente l'intégralité du document XML sous forme d'arborescence et est utilisé pour opérer sur l'intégralité du document. SAX (Simple API for XML) est une méthode d'analyse en continu qui lit les documents XML nœud par nœud dans l'ordre.

Dans cet article, nous nous concentrerons sur les méthodes d'analyse basées sur DOM.

Tout d'abord, nous devons charger le fichier XML à l'aide de la classe DOMDocument en PHP :

$doc = new DOMDocument();
$doc->load('example.xml');

Cela créera un document XML à l'aide de la classe DOMDocument et chargera le fichier XML "example.xml".

Ensuite, nous pouvons utiliser la méthode getElementsByTagName pour obtenir l'élément XML spécifié :

$books = $doc->getElementsByTagName('book');

Cela obtiendra tous les éléments du livre et les stockera dans la variable $books. Nous pouvons obtenir les valeurs des sous-éléments et sous-éléments de chaque élément du livre en itérant sur le tableau $books :

foreach ($books as $book) {
    $title = $book->getElementsByTagName('title')->item(0)->nodeValue;
    $author = $book->getElementsByTagName('author')->item(0)->nodeValue;
    $publisher = $book->getElementsByTagName('publisher')->item(0)->nodeValue;
    echo "$title - $author - $publisher
";
}

Cela parcourra tous les éléments du livre, obtiendra les valeurs du titre, de l'auteur et sous-éléments d'éditeur dans chaque élément de livre et mis. Ils sont sortis.

  1. Création de documents XML

En PHP, nous pouvons utiliser la classe DOMDocument pour créer des documents XML et ajouter des éléments, des attributs et des nœuds de texte.

Tout d'abord, nous devons créer une instance de la classe DOMDocument :

$doc = new DOMDocument();

Ensuite, nous pouvons utiliser la méthode createElement pour créer un élément et la méthode appendChild pour l'ajouter au document DOM :

$book = $doc->createElement('book');
$doc->appendChild($book);

Cela créera un élément appelé élément "book" et ajoutez-le au document DOM.

Nous pouvons ajouter des attributs aux éléments en utilisant la méthode setAttribute :

$book->setAttribute('id', '1');

Cela ajoutera un attribut appelé "id" avec une valeur de "1" à l'élément book.

Nous pouvons également créer un nœud de texte en utilisant la méthode createTextNode et l'ajouter à l'élément en utilisant la méthode appendChild :

$title = $doc->createElement('title');
$book->appendChild($title);
$title_text = $doc->createTextNode('PHP入门教程');
$title->appendChild($title_text);

Cela créera un élément enfant de titre pour l'élément book et ajoutera un nœud de texte appelé "Getting Started with PHP Tutorial ".

Enfin, nous pouvons enregistrer le document DOM sous forme de fichier XML en utilisant la méthode de sauvegarde :

$doc->save('example.xml');

Cela enregistrera le document DOM sous forme de fichier nommé "example.xml".

Conclusion

En PHP, le traitement XML est très courant. Nous pouvons utiliser l'analyse basée sur DOM pour obtenir des éléments et des données dans des documents XML, et utiliser la classe DOMDocument pour créer des documents XML, ajouter des éléments, des attributs et des nœuds de texte. Ces opérations peuvent apporter une grande aide à notre développement web.

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