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] Génération de XML tout pas beau :(


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2002
    Messages : 80
    Points : 84
    Points
    84
    Par défaut [DOM] Génération de XML tout pas beau :(
    Salut,

    J'utilise la bibliothèque DOM (DOMDocument) de php pour générer du xml et l'ecrire dans un fichier.

    Jusque là, tout vas bien, le prob est lorsque j'ouvre mon fichier xml, il m'a tout écris sur deux lignes de code.
    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <?xml version="1.0" encoding="UTF-8"?>
    <root><rep label="a"><file label="f1.ext" chemin="../../a"/><file label="f2.ext" chemin="../../a"/></rep></root>

    Voilà le code php en très simplifié
    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
     
    $dom = new DOMDocument('1.0', 'UTF-8');
    $racine = $dom->createElement('root');
     
    $rep = $dom->createElement('rep');
    $rep->setAttribute("label", "a");
    $racine->appendChild($rep);
     
    while (...) { <div style="margin-left:40px">$file = $dom->createElement('file');
    $file->setAttribute("label", $tab['nom']);
    $file->setAttribute("chemin", $tab['chemin']);
    $rep->appendChild($file);</div>}
     
    $dom->appendChild($racine);
    $dom->save("fichiers.xml");
    Une idée pour qu'il mette les \n et les tabulations automatiquement?

    Merci

  2. #2
    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
    Points : 3 377
    Points
    3 377
    Par défaut
    PHP tourne sur un Windows ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2002
    Messages : 80
    Points : 84
    Points
    84
    Par défaut
    Oui apache 2 + php + mysql sur windows

  4. #4
    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
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par scorpiwolf
    Oui apache 2 + php + mysql sur windows
    Il me semble que pour la mise en forme du fichier XML, c'est le composant MS XML qui merdouille. Je sais pas trop comment régler ça, j'ai vaguement vu des trucs sur le net qui en parlaient, mais c'étaient pour d'autres langages utilisant d'autres APIs que DOM, alors j'ai laissé tomber (je n'avais pas le problème chez moi). Mais je te suggère un bon coup de Google là-dessus, et éventuellement la KB de Microsoft.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2002
    Messages : 80
    Points : 84
    Points
    84
    Par défaut
    Ok merci.
    J'ai compris, je vais recoder une fonction save...

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Avril 2002
    Messages : 80
    Points : 84
    Points
    84
    Par défaut
    Je suis tombé tout bêtement sur ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $dom->formatOutput = true;
    Honte à moi j'avais mal cherché.
    Bref maintenant ca marche nickel.

  7. #7
    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
    Points : 3 377
    Points
    3 377
    Par défaut
    Citation Envoyé par scorpiwolf
    Honte à moi
    Oui ben... Bienvenue au club

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. XML, ne pas tout afficher sur DataGridView
    Par toss.net dans le forum C#
    Réponses: 3
    Dernier message: 06/10/2010, 10h45
  2. bouton tout pas beau
    Par gdpasmini dans le forum MFC
    Réponses: 26
    Dernier message: 14/06/2006, 22h29
  3. [DOM] Génération dynamique fichier xml
    Par Fabouney dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 03/10/2005, 09h45
  4. [XML][XSL][DOM][JAVASCRIPT]melanger le tout, laisser reposer
    Par mitsein dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 16/07/2004, 16h56
  5. Trait pas beau
    Par Steph82 dans le forum OpenGL
    Réponses: 12
    Dernier message: 07/12/2003, 00h26

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