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

Bibliothèques et frameworks PHP Discussion :

[DOM XML] Mise en forme du fichier


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 41
    Points : 37
    Points
    37
    Par défaut [DOM XML] Mise en forme du fichier
    Bonjour,
    j'ai besoin de manipuler des fichiers XML en PHP. Par "manipuler" j'entends extraire des noeuds et en insérer.

    Pour l'extraction : pas de souci avec XPath

    Par contre, pour l'insertion, c'est un peu plus compliqué. Non pas que celà ne fonctionne pas, mais j'ai des souci de mise en forme de mon fichier.

    Prenons un exemple de fichier XML source, dans lequel je dois insérer des données :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <A>
         <Objects>
              <Obj>foo</Obj>
              <Obj>bar</Obj>
         </Objects>
    </A>

    Dans ce fichier je dois insérer un nouveau groupe de balise (que la DTD m'autorise bien entendu) afin d'obtenir ceci :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <A>
         <New>
              <Data1></Data1>
              <Data1></Data1>
         </New>
         <Objects>
              <Obj>foo</Obj>
              <Obj>bar</Obj>
         </Objects>
    </A>

    Mais, après execution de mon script j'obtiens ça :
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <A>
         <Objects>
              <Obj>foo</Obj>
              <Obj>bar</Obj>
         </Objects>
    <New><Data1></Data1><Data1></Data1></New></A>
    "XMLement" parlant c'est valide. La DTD est bien respectée. Par contre, mon fichier source qui était correctement indenté devient vite désordonné, d'où mes 2 questions :

    1-Est-il possible d'insérer mon groupe <New> directement sous <A>
    2-Est-il possible d'indenter les balises insérée afin de conserver la lisibilité originale de mon fichier source?

    Merci

  2. #2
    Membre averti
    Avatar de ghostdogpr
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    198
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 198
    Points : 354
    Points
    354
    Par défaut
    Pour ta première question : tu as utilisé append_child() pour l'insertion ?
    Pour insérer en tête, va voir du coté de insert_before.

  3. #3
    Nouveau membre du Club
    Inscrit en
    Janvier 2005
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 41
    Points : 37
    Points
    37
    Par défaut
    Oui, c'est bon j'ai réglé le problème avec un insertBefore.

    Par contre pour la mise en forme j'ai trouvé un $dom->formatOutput = TRUE;

    Mais ça ne marche pas. En creusant un peu il s'avère que le formatOutput n'a pas l'air de marcher lorsque le DOMdocument est créé à partir d'un load() (à partir d'un fichier quoi). C'est un bug de PHP5 en gros. Ca m'arrange pas

Discussions similaires

  1. Mise en forme de fichiers Excel sans API
    Par Tizen dans le forum Documents
    Réponses: 2
    Dernier message: 27/09/2009, 23h56
  2. Mise en forme de fichier Word
    Par SKone dans le forum C#
    Réponses: 2
    Dernier message: 26/06/2008, 16h31
  3. [DOM XML] Mise à jour de noeuds + php
    Par masseur dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 03/04/2008, 18h39
  4. [VBA]Mise en forme de fichier Ecxel aprés exportation
    Par taisherg dans le forum VBA Access
    Réponses: 3
    Dernier message: 04/05/2007, 16h40
  5. [XML][RSS] Mise en forme dans fichier XML
    Par Mister Nono dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 25/01/2007, 00h58

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