Comment utiliser efficacement XMLReader en PHP
En PHP, on peut rencontrer des difficultés lorsqu'on tente d'analyser des documents XML volumineux avec SimpleXML. Pour résoudre ce problème, XMLReader constitue une alternative. Cependant, trouver des didacticiels complets sur son utilisation peut être difficile.
Explorons comment utiliser XMLReader pour récupérer efficacement le contenu d'éléments individuels et les stocker dans une base de données.
Exemple XML Structure
<products> <last_updated>2009-11-30 13:52:40</last_updated> <product> <element_1>foo</element_1> <element_2>foo</element_2> <element_3>foo</element_3> <element_4>foo</element_4> </product> <product> <element_1>bar</element_1> <element_2>bar</element_2> <element_3>bar</element_3> <element_4>bar</element_4> </product> </products>
Solution utilisant XMLReader et SimpleXML
Le but est de traiter chaque
Implémentation en PHP
$z = new XMLReader; $z->open('data.xml'); $doc = new DOMDocument; // Move to the first <product> node while ($z->read() && $z->name !== 'product'); // Loop through <product> nodes while ($z->name === 'product') { // Import XML string into SimpleXMLElement object $node = new SimpleXMLElement($z->readOuterXML()); // Get values of element nodes var_dump($node->element_1); // Move to next <product> node $z->next('product'); }
Avantages et inconvénients des différentes approches
Lecteur XML uniquement :
Lecteur XML SimpleXML :
Lecteur XML DOM :
Recommandation
Pour la plupart des situations, l'utilisation de XMLReader et SimpleXML est le choix idéal. Il offre un équilibre entre performances et facilité d’utilisation. Évitez d'utiliser XMLReader directement, sauf en cas d'absolue nécessité.
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!