Maison >développement back-end >tutoriel php >Comment analyser les balises XML avec des deux-points en PHP ?

Comment analyser les balises XML avec des deux-points en PHP ?

DDD
DDDoriginal
2024-11-10 13:28:021073parcourir

How to Parse XML Tags with Colons in PHP?

Analyse des balises XML avec des deux-points à l'aide des bibliothèques PHP

SimpleXML n'est peut-être pas le choix le plus approprié pour analyser du XML avec des noms de balises contenant des deux-points. Explorons les bibliothèques PHP alternatives qui gèrent de tels scénarios.

DOMDocument

DOMDocument est un analyseur XML orienté objet qui fournit une représentation hiérarchique du document XML. Il vous permet de naviguer et de manipuler l'arborescence XML. Voici un exemple :

$dom = new DOMDocument();
$dom->loadXML('<xhtml:div><xhtml:em>italic</xhtml:em><date>2010-02-01 06:00</date></xhtml:div>');
$em = $dom->getElementsByTagNameNS('http://www.w3.org/1999/xhtml', 'em')->item(0);
$date = $dom->getElementsByTagName('date')->item(0);
echo $em->textContent; // Output: italic
echo $date->textContent; // Output: 2010-02-01 06:00

XMLReader

XMLReader est un analyseur XML basé sur les événements qui fournit un flux d'événements lors de l'analyse du document XML. Vous pouvez accéder aux éléments en fonction de leur espace de noms et de leur nom local. Par exemple :

$reader = new XMLReader();
$reader->open('<xhtml:div><xhtml:em>italic</xhtml:em><date>2010-02-01 06:00</date></xhtml:div>');
while ($reader->read()) {
    if ($reader->nodeType == XMLReader::ELEMENT) {
        if ($reader->namespaceURI == 'http://www.w3.org/1999/xhtml') {
            $em = $reader->readString();
            $date = $reader->readString();
        }
    }
}
echo $em; // Output: italic
echo $date; // Output: 2010-02-01 06:00

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