C++ und TinyXML2 - Import

NeuerUser2012

Grünschnabel
Ich habe ein XML File, das folgendermaßen aussieht:
<?xml version="1.0" encoding="UTF-16"?>
<Table>
<Dataset>
<Year>Year1</Year>
<Month>Month1</Month>
<Day>Day1</Day>
</Dataset>
<Dataset>
<Year>Year2</Year>
<Month>Month2</Month>
<Day>Day1</Day>
</Dataset>
</Table>

Ich möchte es jetzt mit TinyXML-2 einlesen, der Code, den ich bisher habe, sieht folgendermaßen aus:
Code:
 XMLElement* xeTable = xeExport->FirstChildElement("Table");
     XMLElement* xeDataset = xeTable->FirstChildElement("Dataset");
         XMLElement* xeYear = xeDataset->FirstChildElement("Year");
         XMLElement* xeMonth = xeDataset->FirstChildElement("Month");
         XMLElement* xeDay = xeDataset->FirstChildElement("Day");

             XMLText* xnYear  = xeYear->FirstChild()->ToText();
             const char* cYear = xnYear->Value();

             XMLText* xnMonth  = xeMonth->FirstChild()->ToText();
             const char* cMonth = xnMonth->Value();

             XMLText* xnDay  = xeDay->FirstChild()->ToText();
             const char* cDay = xnDay->Value();

Jedoch liest er mir damit natürlich nur den ersten Datensatz aus. Wie packe ich das ganze jetzt in eine Schleife?
Bzw. hatte ich daran gedacht, den bereits ausgelesenen Datensatz nach dem Lesen zu löschen, um dann wieder mit FirstChildElement() auf den quasie 2. Datensatz zugreifen zu können.
Leider habe ich dazu nichts gefunden...

Kann jemand helfen?


Liebe Grüße,
NeuerUser
 
Hi.

Du kannst mit NextSiblingElement auf die nächsten Geschwisterknoten zugreifen:
C:
xeDataset = xeTable->FirstChildElement(...);

while (xeDateset != 0) {
   ...
   xeDataset = xeDataset->NextSiblingElement("Dataset");
}
Gruß
 
Zurück