IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

lire un fichier xml


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Fabouney
    Invité(e)
    Par défaut lire un fichier xml
    Bonjour à tous et à toutes,

    je doit en fait lire le contenu d'un fichiers xml, est comparer les valeurs de chaque noeud a des données présentent dans une base de données, et modifier directement le noeud dans le fichier si une valeur différe.

    mon fichier XML se présente ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <mobibase>
    <song ident="5089">
    	<title>Let It Be</title>
    	<artist>The Beatles</artist>
    	<date_added>2006-01-04</date_added>
     
    	<date_update>2006-01-09</date_update>
    		<file ident="134">
    			<date_added_file>2006-01-04</date_added_file>
    			<crc32>435948012</crc32>
    			<size>415194</size>
    		</file>
    </song>
    .
    .
    .
    </mobibase>
    serait-il plus judicieux de toute mettre dans un tableau (dans ce cas comment faire cela) et parcourir apres pour comparer ?
    quelle méthode me permetterait de modifier la valeur d'un noeud, du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <crc32>435948012</crc32> en <crc32>154578454</crc32>
    merci d'avance à tous pour vos réponse.

  2. #2
    Membre expérimenté
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2006
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2006
    Messages : 215
    Par défaut
    Salut Fabouney,

    Pour parcourir ton fichier XML, tu peux utiliser l'extention PHP SimpleXML


    http://sahid.funraill.org/category/langages/xml/


    voila, j'espere que ca pourra t'aider (:

    sahid

  3. #3
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Et si tu veux passer par l'extension DOM plutôt que SimpleXML (si tu as PHP5, toujours) : http://eusebius.developpez.com/php5dom/
    Dans la dernière partie tu as un exemple de comment transformer un document XML en objet PHP, si ça t'intéresse... Tu peux adapter pour faire un tableau à la place.

  4. #4
    Fabouney
    Invité(e)
    Par défaut
    autre petit question,

    est-il possible de sélectionner directement (plutot que de parcourir tout le fichier sequentiellement) la valeur d'un element dont par exemple son attribut est egal à "toto".

    je vous montre mon XML et vous donne un exemple, ce sera veaucoup plus clair pour vous :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <mobibase>
    <song ident="5089">
      <title>Let It Be</title>
      <artist>The Beatles</artist>
      <date_added>2006-01-04</date_added>
      <date_update>2006-01-09</date_update>
        <file ident="134">
          <date_added_file>2006-01-04</date_added_file>
          <track_type>Instrumental</track_type>
          <crc32>435948012</crc32>
          <size>415194</size>
      </file>
    </song>
    <song ident="5090">
      <title>Là-bas</title>
      <artist>Jean-Jacques Goldman</artist>
      <date_added>2006-01-05</date_added>
      <date_update>2006-04-27</date_update>
        <file ident="135">
          <date_added_file>2006-01-05</date_added_file>
          <track_type>Instrumental</track_type>
          <crc32>3283162284</crc32>
          <size>821364</size>
         </file>
    </song>
    voila, donc en fait, mon objectif c'est de lister tout les enregistrement des "file" de ma BDD est comparer les valeur du crc de chacun par rapport à ceux du fichier XML, au quel cas, je devrais modifier la valeur de l'élément dans le fichier XML et en regénérer un nouveau.

    le probleme c'est que si j'ai bcp de "file" dans ma BDD, euh ca va un peu etre abusé pour chaque file, parcourir a chaque fois les <file> pour faire le test

    on ne peut pas accéder directement à un element?
    avec simpleXML ou autre.

  5. #5
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par Fabouney
    autre petit question,

    est-il possible de sélectionner directement (plutot que de parcourir tout le fichier sequentiellement) la valeur d'un element dont par exemple son attribut est egal à "toto".
    La réponse (en DOM) est dans le lien que je t'ai donné.

  6. #6
    Fabouney
    Invité(e)
    Par défaut
    en effet, si j'ai bien compris, faut que je passe par une DTD et que je definisse un ID sur l'element en question ?

Discussions similaires

  1. Créer et lire un fichier xml
    Par Bruno1905 dans le forum C++Builder
    Réponses: 14
    Dernier message: 13/06/2007, 11h11
  2. Réponses: 1
    Dernier message: 17/01/2006, 07h42
  3. [DOM XML] Lire un fichier xml
    Par axel-erator dans le forum Bibliothèques et frameworks
    Réponses: 7
    Dernier message: 07/12/2005, 22h36
  4. lire un fichier xml
    Par stephanie5 dans le forum C++Builder
    Réponses: 6
    Dernier message: 18/11/2005, 16h34
  5. Comment lire un fichier XML ?
    Par jeromelef dans le forum Débuter
    Réponses: 6
    Dernier message: 29/06/2005, 15h52

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo