wxwidgets - TinyXML2 and C++ -


i want read data wxgrid , write xml file. wxgrid like:

jahr | monat
------ |-------------
2012 | 03
2009 | 08


what want have:

<sql>     <datensatz>         <jahr>2012</jahr>         <monat>03</monat>     </datensatz>     <datensatz>         <jahr>2009</jahr>         <monat>08</monat>     </datensatz> </sql> 


what got:

<sql>     <datensatz>         <jahr>20122009</jahr>         <monat>0308</monat>     </datensatz>     <datensatz>         <jahr>20122009</jahr>         <monat>0308</monat>     </datensatz> </sql> 


my code:

xmldocument doc; xmlelement* xesql = doc.newelement("sql"); xmlnode * xnsql = doc.insertfirstchild(xesql); xmlelement* xejahr = doc.newelement("jahr"); xmlelement* xemonat = doc.newelement("monat"); xmltext* datensatzjahr = doc.newtext(""); xmltext* datensatzmonat = doc.newtext(""); for(int i=0; i<=1; i++) {     xmlelement* xedatensatz = doc.newelement("datensatz");     datensatzjahr = doc.newtext(m_gd_data->getcellvalue(i,0));     datensatzmonat = doc.newtext(m_gd_data->getcellvalue(i,1));     xejahr->insertendchild(datensatzjahr);     xemonat->insertendchild(datensatzmonat);     xedatensatz->insertendchild(xejahr);     xedatensatz->insertendchild(xemonat);     xesql->insertendchild(xedatensatz); } doc.savefile(path); 


i don't know where's problem. can help?

you not resetting xml elements each iteration of loop, hence appending text existing element. should work:

xmldocument doc; xmlelement* xesql = doc.newelement("sql"); xmlnode * xnsql = doc.insertfirstchild(xesql); for(int i=0; i<=1; i++) {     xmlelement* xejahr = doc.newelement("jahr");     xmlelement* xemonat = doc.newelement("monat");     xmltext* datensatzjahr = doc.newtext("");     xmltext* datensatzmonat = doc.newtext("");      xmlelement* xedatensatz = doc.newelement("datensatz");     datensatzjahr = doc.newtext(m_gd_data->getcellvalue(i,0));     datensatzmonat = doc.newtext(m_gd_data->getcellvalue(i,1));     xejahr->insertendchild(datensatzjahr);     xemonat->insertendchild(datensatzmonat);     xedatensatz->insertendchild(xejahr);     xedatensatz->insertendchild(xemonat);     xesql->insertendchild(xedatensatz); } doc.savefile(path); 

Comments

Popular posts from this blog

django - How can I change user group without delete record -

java - Need to add SOAP security token -

java - EclipseLink JPA Object is not a known entity type -