Bonjour à tous,
J'essaie d'enregistrer un fichier xml à l'aide de librairie TinyXML2 et je voudrais ajouter la Déclaration. J'y arrive seulement elle devrait se trouver sur la première ligne mais elle est comme ceci :
Voici la méthode responsable :
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <Language> <Table ElementCount="3"> <Element Key="Time in the Chronometer" Translation="Temps dans le Chronomètre"/> <Element Key="Time in the Temporizer" Translation="Temps dans le Temporisateur"/> <Element Key="We start !" Translation="C'est un départ !"/> </Table> </Language> <?xml version="1.0" encoding="UTF-8"?>
Je fais probablement quelque chose de travers mais quoi ? Ou alors je viens de tomber sur un bogue ?
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
30
31
32
33 void LanguageSystem::SaveTableFile() { std::string FullPath = PathName + FileName; const char* PathFileName = FullPath.c_str(); tinyxml2::XMLDocument LanguageTable; LanguageTable.InsertEndChild(LanguageTable.NewDeclaration()); LanguageTable.SetBOM( true ); tinyxml2::XMLNode * pRoot = LanguageTable.NewElement("Language"); LanguageTable.InsertFirstChild(pRoot); tinyxml2::XMLElement * pElement = LanguageTable.NewElement("Table"); pElement->SetAttribute("ElementCount", Table.size()); Iter = Table.begin(); while(Iter != Table.end()) { tinyxml2::XMLElement * pListElement = LanguageTable.NewElement("Element"); std::string Key = Iter->first; std::string Translation = Iter->second; pListElement->SetAttribute("Key", Key.c_str()); pListElement->SetAttribute("Translation", Translation.c_str()); pElement->InsertEndChild(pListElement); Iter++; } pRoot->InsertEndChild(pElement); LanguageTable.SaveFile(PathFileName); }
Merci à l'avance.
StarBootics
Partager