Maison >développement back-end >tutoriel php >Comment extraire l'URL d'un attribut de nœud XML en PHP à l'aide de l'analyseur DOM ?

Comment extraire l'URL d'un attribut de nœud XML en PHP à l'aide de l'analyseur DOM ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-31 01:01:29236parcourir

How to Extract an XML Node Attribute's URL in PHP Using the DOM Parser?

Extraction des attributs de nœud XML en PHP à l'aide de l'analyseur DOM

Dans le domaine du développement PHP, l'analyseur DOM est un outil puissant pour manipuler du XML documents. Cependant, comprendre ses subtilités peut s’avérer difficile pour les débutants. Explorons une question courante qui se pose souvent lorsque l'on travaille avec l'analyseur DOM : comment extraire l'attribut URL d'un nœud XML.

Le balisage et l'objectif XML

Considérez le balisage XML suivant :

<code class="xml"><files>
    <file path="http://www.thesite.com/download/eysjkss.zip" title="File Name" />
</files></code>

Notre objectif est d'extraire l'URL de l'attribut "path" du nœud "file".

Solution SimpleXML

PHP fournit un analyseur alternatif, SimpleXML, qui offre une approche plus simple :

<code class="php">$xml = new SimpleXMLElement($xmlstr);
echo $xml->file['path']."\n";</code>

où $xmlstr est la représentation sous forme de chaîne du balisage XML.

Sortie

http://www.thesite.com/download/eysjkss.zip

Alternative à l'analyseur DOM

En utilisant l'analyseur DOM, vous pouvez obtenir le même résultat grâce à une approche plus complexe :

<code class="php">$doc = new DOMDocument();
$doc->loadXML($xmlstr);
$node = $doc->documentElement->getElementsByTagName('file')->item(0);
echo $node->getAttribute('path');</code>

Conclusion

SimpleXML et l'analyseur DOM sont tous deux des outils précieux pour travailler avec XML. SimpleXML offre un point d'entrée plus simple pour les débutants, tandis que l'analyseur DOM offre une plus grande flexibilité pour les scénarios plus complexes.

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