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 :
donc pour cela, j'écris le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <root> <element><a/></element> <element><a/></element> </root>
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
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;
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.
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>
quelqu'un aurait'il déjà rencontré une histoire similaire (ou tout simplement l'a fait!!!).
merci par avance pour vos avis.
Partager