xml Datei auslesen



  • Hallo,

    ich soll aus einer xml-Datei Wörter und Sätze auslesen mittels eines C++ Programms.

    Die xml Datei sieht ungefähr so aus:

    <.......> Name <.......>
    <.......> Nachname <.......>

    Wie kann ich jetzt in der ersten Zeile "Name" auslesen und speichern?
    Und dann das Zeile um Zeile?

    Ich bin etwas neu auf dem Gebiet der C++ Programmierung und ich hoffe es kann mir jemand helfen.

    Vielen Dank schonmal im Voraus 👍





  • a) Du nimmst einen fertigen XML-Parser wie xerxes, TinyXML, libXML, ... oder

    b) Du machst das selber, std::string::find() hilft dir dabei die '<' und '>' zu lokalisieren. Solltest du aber höchstens machen wenn das eine Übung für diech ist und die Struktur trivial



  • Danke nochmal für eure Antworten.
    Also einen fertigen Parser kann ich nicht benutzen, da ich es zum Verständnis selber programmieren will.
    Mit "std::string::find()" hab ich versucht zu arbeiten, komm aber irgendwie nicht richtig auf eine Lösung! Mir würde ein kleines Beispielprogramm sicherlich weiterhelfen! 🙂



  • pinky2 schrieb:

    Also einen fertigen Parser kann ich nicht benutzen, da ich es zum Verständnis selber programmieren will.
    Mit "std::string::find()" hab ich versucht zu arbeiten, komm aber irgendwie nicht richtig auf eine Lösung! Mir würde ein kleines Beispielprogramm sicherlich weiterhelfen! 🙂

    du könntest dir zumindest von einem fertigen parser die nodes auseinanderfriemeln lassen. xml schnell mal eben selber parsen ist nicht so einfach in ein paar zeilen getan. zumindest nicht in c++.



  • Hallo zzZzZ,
    danke erstmal für deine Antwort.

    ich will auch kein Beipiel für einen kompletten Parser. Mir würde schon ein kleines Beispiel reichen, wie man mit der find() Funktion arbeitet. Wie komm ich bis zu dem Zeichen "<" und wie kann ich die Wörter oder Sätze nach diesem Zeichen speichern.
    Wie schon erwähnt sind meine C++ Kenntnisse nicht sehr groß. Und das was ich im Internet über diese Thema gefunden habe, sagt mir nicht sehr viel, da fehlt mir noch der Durchblick.





  • Also, nen XML-Parser würde ich nicht wirklich mit 'find' schreiben. Sondern einfach über nen Lexer, der mir die Tags zerpfückt und dann einer einfachen Stapelmaschine zuschmeißt, die daraus einen Baum aufbaut.


Anmelden zum Antworten