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

C++/CLI Discussion :

XmlWriter & mise en page


Sujet :

C++/CLI

  1. #1
    Membre confirm�
    Homme Profil pro
    D�veloppeur en syst�mes embarqu�s
    Inscrit en
    Avril 2005
    Messages
    87
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur en syst�mes embarqu�s
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Avril 2005
    Messages : 87
    Par d�faut XmlWriter & mise en page
    Bonjour � tous

    je d�sire �crire en XML dans un fichier. Jusque l�, tout va bien
    Par contre, c'est au niveau de la mise en page que je s�che un peu...
    Voici un exemple de mise en page de ce que je voudrais r�aliser :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    <root>
      <element><a/></element>
      <element><a/></element>
    </root>
    donc pour cela, j'�cris le code suivant :
    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
    27
    28
    29
    XmlWriterSettings^ settings = gcnew XmlWriterSettings();
    settings->CloseOutput = true;
    settings->Indent = true;
    settings->IndentChars = "  "; //default value
    settings->NewLineChars = "\r\n"; //default value
    settings->NewLineOnAttributes = false; //default value
    settings->OmitXmlDeclaration = true;
     
    XmlWriter^ writer = XmlWriter::Create("test.xml", settings);
    delete settings;
    writer->WriteStartDocument();
    writer->WriteStartElement(L"root");
     
    for (i=0 ; i<2 ; i++) {
    	writer->WriteStartElement(L"element");
     
    	// creation d'un XmlWriter qui utiliser 'writer' comme 
    	// writer sous-jacent avec les settings par défaut, donc 
    	// la propriété 'indent' à false
    	XmlWriter^ xwItem = XmlWriter::Create(writer);
     
    	xwItem->WriteStartElement(L"a");
    	xwItem->WriteEndElement(); // a
    	xwItem->WriteEndElement(); // element
    }
     
    writer->WriteEndElement(); // root
    writer->WriteEndDocument();
    delete writer;
    et je tombe sur ce r�sultat :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    <root>
      <element>
        <a />
      </element>
      <element>
        <a />
      </element>
    </root>
    J'ai essay� en explicitant la cr�ation d'un nouveau XmlWriterSettings (avec l'attribut indent � false bien s�r ) pour mon second XmlWriter, mais le r�sultat est le m�me.

    quelqu'un aurait'il d�j� rencontr� une histoire similaire (ou tout simplement l'a fait!!!).
    merci par avance pour vos avis.

  2. #2
    Membre confirm�
    Homme Profil pro
    D�veloppeur en syst�mes embarqu�s
    Inscrit en
    Avril 2005
    Messages
    87
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activit� : D�veloppeur en syst�mes embarqu�s
    Secteur : High Tech - �lectronique et micro-�lectronique

    Informations forums :
    Inscription : Avril 2005
    Messages : 87
    Par d�faut
    j'ai trouv� une solution, mais qui tiens de la bidouille..
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    for (i=0 ; i<2 ; i++) {
    	// creation d'un XmlWriter qui utiliser 'writer' comme 
    	// writer sous-jacent avec les settings par défaut, donc 
    	// la propriété 'indent' à false
    	XmlWriter^ xwItem = XmlWriter::Create(writer);
     
    	xwItem->WriteStartElement(L"element");
     
    	xwItem->WriteRaw(L""); // <-- voici l'astuce
     
    	xwItem->WriteStartElement(L"a");
    	xwItem->WriteEndElement(); // a
    	xwItem->WriteEndElement(); // element
    }
    Mais �a n'explique pas plus mon probl�me ; �a le solutionne simplement.

Discussions similaires

  1. [VB6+API][Impression] Mise en page
    Par HPJ dans le forum VB 6 et ant�rieur
    R�ponses: 4
    Dernier message: 06/09/2004, 17h11
  2. [CR.NET][VS.NET] mise en page et sections
    Par guignol dans le forum SDK
    R�ponses: 8
    Dernier message: 06/08/2004, 15h07
  3. mise en page (Header and Footer) en XML-XSL.
    Par christine dans le forum XSL/XSLT/XPATH
    R�ponses: 4
    Dernier message: 01/03/2004, 16h31
  4. [CR] Mise en page
    Par akolyto dans le forum SAP Crystal Reports
    R�ponses: 4
    Dernier message: 14/10/2003, 12h22
  5. [mise en page] pour bien indenter son code
    Par bihorece dans le forum C++Builder
    R�ponses: 4
    Dernier message: 06/08/2003, 16h14

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