PHP - Lecture fichier XML

conan76 Messages postés 32 Date d'inscription lundi 28 juillet 2003 Statut Membre Dernière intervention 9 décembre 2013 - 10 mars 2009 à 15:02
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 - 12 mars 2009 à 22:34
Bonjour,

Dans le but d'importer des données d'une structure (ASP.Net/Intranet) à une autre (PHP/Internet)  afin de les exposer à la clientèle, le choix a été fait de générer un fichier XML depuis la première structure pour l'importer dans la seconde.

J'ai donc fais un fichier XML pour développer ma partie "import" (je pense que sa structure est bonne car je n'ai pas l'habitude)
Ce fichier sera présenté à l'administrateur dans un tableau avec sélection possible des "opérations" à importer pour l'agence en cours. Ce tableau issu du fichier XML avant d'être affiché, aura été traité pour comparaison avec la Base de donnée, et sera ensuite importé (ou modifier) en partie vers la base.

Pour ce faire je dois donc dans un premier temps lire le fichier xml, mais voilà j'ai par moment des attributs (agence,operation,lot) et pas d'attribut mais des balises de séparation pour le contenu du lot. Quel est le meilleur moyen pour effectuer cette lecture avant traitement et affichage ? j'ai essayé SimpleXML mais apparement il faut dans la boucle de parcours d'enfant scrutter chaque balise pour savoir qu'elle traitrement il faut faire (lire l'attribut ou prendre l'enfant suivant).

Voici le contenu de mon fichier XML :

<?xml version='1.0' encoding='utf-8' ?>

 
  <operation id="14">
   <lot id="1">
    <num>12</num>
    <surf>123</surf>
    135480

    <obs><![CDATA[ lot vendu le 12/01/2009]></obs>
    <etat>1</etat>
   </lot>
   <lot id="2">
    <num>16</num>
    <surf>123</surf>
    135480

    <obs></obs>
    <etat>0</etat>
   </lot>
  </operation>
  <operation id="18">
   <lot id="1">
    <num>18</num>
    <surf>170</surf>
    185480

    <obs></obs>
    <etat>0</etat>
   </lot>
  </operation>
 

Merci de votre aide.

1 réponse

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
12 mars 2009 à 22:34
Hello,

j'ai bien compris ce sur quoi tu bloquais, mais pas réellement ce que tu comptais faire lors de cette "lecture" ?
Parce que s'il s'agit juste de lire un XML en tenant compte des attributs et enfants de chaque noeud sans les connaître par avance, et d'afficher le tout, penche-toi sur XSL.
Ca ne nécessite même pas PHP.
Si tu as des traitements...simpleXML te permet de vérifier s'il y a des attributs, et des enfants. Rien ne t'empêche de te faire une fonction ou une classe réagissant en fonction de ce que tu trouves durant le parcours.
simpleXML permet aussi de faire des requêtes xPath, et là...ce n'est que du bonheur pour peu que tu acceptes de te pencher un peu là-dessus (cherche xPath sur Google, et choisis le lien menant au W3C).
0
Rejoignez-nous