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 :

[TinyXML] Générer la ligne DOCTYPE


Sujet :

XML

  1. #1
    Membre à l'essai
    [TinyXML] Générer la ligne DOCTYPE
    Bonjour,

    je cherche à générer un fichier XML à l'aide de TinyXML.
    J'ai bien la première ligne
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>


    Et juste en dessous je veux une ligne
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    <!DOCTYPE TOTO SYSTEM "toto-1.0.dtd">


    Je pensais contourner le problème à l'aide d'un TiXmlText tout bête
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    TiXmlText* doctype = new TiXmlText("\<!DOCTYPE TOTO SYSTEM \"toto-1.0.dtd\">");
    doc.LinkEndChild(doctype);


    mais malheureusement voilà ce que ça me génère
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    &lt;!DOCTYPE TOTO SYSTEM "toto-1.0.dtd"&gt;


    Comment faire ? Merci

  2. #2
    Rédacteur/Modérateur

    Bonjour,

    TinyXml ne gère pas les Doctype.
    Tu peux essayer de réaliser ceci avec un TiXmlUnknown.

    http://www.grinninglizard.com/tinyxm...ocs/index.html
    http://www.grinninglizard.com/tinyxm...n-members.html
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  3. #3
    Membre à l'essai
    TiXmlUnknown Je ne vois rien dans l'interface qui me permette de faire une telle chose.
    virtual void Print (FILE *cfile, int depth) const ???
    virtual bool Accept (TiXmlVisitor *content) const ???

  4. #4
    Rédacteur/Modérateur

    Je dirais qu'il faut regarder du côté du TiXmlDocument plutôt et utiliser sa méthode InsertAfterChild en précisant le child qui correspond à la première ligne.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.