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

XML Discussion :

[MSXML][C++] enregistrer avec des retours de lignes


Sujet :

XML

  1. #1
    Membre confirmé Avatar de themadmax
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 446
    Points : 496
    Points
    496
    Par défaut [MSXML][C++] enregistrer avec des retours de lignes
    J'utilise MSXML comme parser XML en C++.
    Et lors d'un enregistrement d'un nouveau Fichier XML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MSXML::IXMLDOMDocument*		m_pDoc;
    ...
    hr = m_pDoc->save( filename );
    Le parser met tout sur une seule ligne dans le fichier. Apres de nombreuses recherches sur internet je n'ai rien trouvé pour remedier à mon probleme.

    Merci pour toutes informations.
    ________________________________________________
    http://bliquid.fr : Blog sur Android et l'Acer Liquid

  2. #2
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Bonjour,

    ce comportement est tout à fait normal : la méthode save() enregistre les noeuds que tu as créés avec DOM, et uniquement ceux-là. Avoir des retours-ligne comme tu le suggères n'est pas souhaitable, pour 2 raisons :
    • Cela alourdit le fichier inutilement
    • Chaque retour-ligne est modélisé en DOM par un noeud de type text ; ça peut perturber d'autres applications qui utilisent DOM et qui ne s'attendent pas forcément à trouver des noeuds de type text entre tes éléments

    En conséquence, je te conseille de laisser le fichier dans l'état, et d'écrire à côté du code qui te restituera un affichage lisible par un humain, si c'est nécessaire.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  3. #3
    Membre confirmé Avatar de themadmax
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    446
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 446
    Points : 496
    Points
    496
    Par défaut
    Bonjour,

    Merci pour ta reponce. Mais j'ai choisi d'utilisé l'XML, en remplacement des fichier ini de configuration et j'aimerai garder la possibilité de modifier ces fichier avec un simple editeur text style Notepad.
    Pour moi lorsque l'on choisi le format XML, on ne recherche pas le plus souvant à optimiser la taille du fichier.
    Pour ce qui est de pertuber d'autre application DOM, je ne cromprent pas vraiment car meme si les infos retour de ligne sont pris en compte, le fichier respect quand meme le standart XML.

    encore merci.
    ________________________________________________
    http://bliquid.fr : Blog sur Android et l'Acer Liquid

  4. #4
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Citation Envoyé par themadmax
    Pour ce qui est de pertuber d'autre application DOM, je ne cromprent pas vraiment car meme si les infos retour de ligne sont pris en compte, le fichier respect quand meme le standart XML
    Si une autre application fait un compte des noeuds de type texte, ça peut la perturber. Mais c'est un cas extrême, je te l'accorde.

    Pour résoudre ton problème, tu vas devoir abandonner save() et écrire ta propre méthode de sérialisation, qui formatera le XML sauvegardé selon tes désirs.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

Discussions similaires

  1. Réponses: 13
    Dernier message: 05/09/2006, 16h25
  2. [JSTL 1.0.6] affichage d'un texte avec des retour chariots
    Par clettebou dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 09/08/2006, 10h16
  3. Affichage des retours à la ligne
    Par joquetino dans le forum Langage
    Réponses: 1
    Dernier message: 29/03/2006, 20h23
  4. Écrire des retours à la ligne
    Par Metallic-84s dans le forum Langage
    Réponses: 2
    Dernier message: 15/03/2006, 09h05
  5. [MySQL] Gestion des retour à la ligne
    Par Husqvarna dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/10/2005, 10h14

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