XML Parser



  • Hallo ihr lieben

    Hat einer von euch Erfahrung bezüglich XML Parsern?
    Ich möchte eine XML Datei in Klassen einlesen.
    Ich möchte auf eine SAX Struktur zurückgreifen.

    Liebe Grüße,
    Melli



  • Welche Programmiersprache möchtest du benutzen?
    Wikipedia liefert doch alles was man wissen muss: http://de.wikipedia.org/wiki/Simple_API_for_XML

    Oder was is das konkrete problem?


  • Mod

    Da gibts viele Konzepte.

    Qt hat einen SAX XML Parser, wxWidgets auch, dort basiert er auf expat.
    Dann gibt es noch Xerces, als unabhängiges XML Framework. Und Arabica, als XML Metaparsing API.

    Es gibt auch XML Parser welche die XML Datei in den Speicher mappen, was für kleinere XML Dateien performanter sein kann, hier hat boost unter anderem gute libst für.



  • Erst einmal vielen Dank für die vielen Antworten.
    Inzwischen habe ich mich für einen QXmlStreamReader entschieden.
    Ich arbeite ausschließlich in QT. Xerces habe ich unter QT leider nicht zum laufen bekommen.

    Viele liebe Grüße.
    Melli



  • Da gibts viele Konzepte.

    Noe, SAX ist das Konzept ^^
    Wenn die SAX Parser miteinander vergleichst, wirst nur Unterschiede im Umfang, Namen und Form der callbacks feststellen, das Konzept sollte eigentlich gleich sein ^^ Wenn du die "callbacks" abstrahierst, (interface, c- callback funktion etc) sollte das auch (programmiersprachen-) unabhaengig sein.

    Inzwischen habe ich mich für einen QXmlStreamReader entschieden.

    Wenn Du sowieso Qt verwendest, gute Wahl !

    Wenn du normal kein QT verwendest und nur wegen dem SAX die Qt einziehst, "wahrscheinlich" ne schlechte Wahl.

    Xerces habe ich unter QT leider nicht zum laufen bekommen.

    Ich bau libs die den Xerces intern verwenden ... die libs zieh ich unter anderem auch in QT basierten Projekten an. IMHO kein Problem.

    Mit bissi basiswissen zu compilern, runtimes und wie man was baut, linker fehler interpretieren etc, sollte das ned schwerfallen.
    Xerces iss eher "pflegeleicht" ... das gibts bedeutend schlimmere libs ^^
    Was genau da falsch gemacht hasst, kann ich natuerlich ned sagen ^^
    Aber mit dem QtXML modul bist wahrscheinlich eh besser bedient (intern verwendet das eh auch xerces code)

    Ciao ...


  • Mod

    RHBaum schrieb:

    Da gibts viele Konzepte.

    Noe, SAX ist das Konzept ^^
    Wenn die SAX Parser miteinander vergleichst, wirst nur Unterschiede im Umfang, Namen und Form der callbacks feststellen, das Konzept sollte eigentlich gleich sein ^^ Wenn du die "callbacks" abstrahierst, (interface, c- callback funktion etc) sollte das auch (programmiersprachen-) unabhaengig sein.

    Ich bezog mich da eher auf den Titel des Threads "XML Parser", wo es tatsächlich viele Wege gibt, auch wenn SAX sicher einer der besseren ist.

    Hinzu kommt, das man dann auch schnell noch weitere XML Techniken wie XSLT oder XML Schemas evtl. benötigt. Nicht jede Library bietet hier gute Implementationen. XSLT wird aber von Qt und Xerces ganz gut unterstützt. Schemas zumindest von Xerces.

    phlox



  • Hey Ihr,

    inzwischen habe ich schon angefangen mein XML-Dokument auf Strukturfehler zu überprüfen. Ich habe jetzt aber gelesen, dass man das auf keinen Fall von Hand machen sollte und hierfür besser eine Schema-Datei verwendet. XSD-Datei???
    Gerade lese ich ein Tutorial, wie eine solche Datei auszusehen hat.
    Wenn ich mit dieser Datei fertig bin, wie schaffe ich es dann, diese mit meiner XML-Datei abzugleichen? In QT versteht sich natürlich. Da ich leider keine Ahnung habe, wie ich Xerces inkludiert bekomme, werde ich wohl auf den QXmlSchemaValidator zurückgreifen müssen. Hat jemand von euch schon einmal damit gearbeitet?
    Hat überhaupt schon einmal jmd eine XML Validierung unter Qt gemacht?
    Ich bin wirklich verzweifelt.

    Viele Grüße,
    Melli


Anmelden zum Antworten