Ein XML-Element ausgeben
-
Hallo zusammen,
ich bin gerade dabei, xml mit TinyXml als Parser zu lernen und stehe vor einem Problemchen.
Mit doc.print( stdout ); gibt man das gesamte xml-Dokument auf dem Bildschirm (MSDOS) aus.
Ich wüsste gerne, wie ich ein Element ausgeben kann?
Im Beispiel unten möchte ich den Namen und Adresse ausgeben:<Personalien> <Person Name="XY" Adresse="b-str.6"> . . </Personalien>danke
-
Durch die Nodes Iterieren ist recht einfach:
TiXmlNode* child = NULL; std::string temp; std::stringstream stream; while( child = node->IterateChildren( child ) ) { temp = child->Value(); std::cout << temp << std::endl; } }Die Attribute bekommst du mit:
TiXmlAttribute* attr = node->FirstAttribute(); if(attr == NULL) return; else { std::string temp; while(attr != NULL) { temp = attr->Name(); std::cout << temp << std::endl; attr = attr->Next(); } }
-
Vielen Dank Phlox81

Grüsse, leona
-
Hallo,
das Thema interessiert mich auch und habe mit dem Code von Phlox81 versucht die Attribute (Name und Adresse) auszugeben, aber beim Kompilieren bekomme ich in der Zeilen wo std:: steht, immer Fehlermeldung
Wenn ich dann diese Zeilen zwischen #ifdef TIXML_USE_STL und endif schreibe, wird zwar keinen Fehler mehr angezeigt, aber ich es wird nichts ausgegeben!!?
Kann mir bitte jemand helfen?
Danke,