J'avais le même souci.
J'ai fait une class PHP5 basée sur SimpleXML et DomDocument qui gère les conversions de noeuds XML en tableau, et recréé des fichiers XML à partir des tableaux.
Cette class a aussi un autre avantage : elle est à même de gérer les noeuds contenant des itérations de là même manière qu'il y ait une ou n itérations d'un noeud
pour faire simple, dans ton exemple tu as deux noeud "sections" en simpleXml tu as donc :
Code :
- <?php
- foreach( $xml->section as $section )
- {
- // some code here...
- }
- ?>
|
Mais dans le cas ou il pourrait y en avoir n mais qu'il n'y en a qu'un tu es obligé de procéder comme ca :
Code :
- <?php
- if( !empty( $xml->section->url ) )
- {
- // Only one section
- }
- else
- {
- foreach( $xml->section as $section )
- {
- // some code here...
- }
- }
- ?>
|
Tous se fait dans la déclaration d'un attribut enumerable="true"
http://darknesss.free.fr/XmlParser.class.zip
les méthodes qui t'intéressent sont XmlParser::getArray et XmlParser::cleanXmlArray
Message édité par the_bigboo le 08-05-2009 à 14:21:07