Hallo,
hat sich schonmal jemand mit dem Thema XML auseinandergesetzt?
Ich habe dazu eine Frage.
Folgendes Problem. Ich habe mir eine schöne XML-Datei mit QT gebastelt und in eine txt-Datei geschrieben und möchte sie gern mit einer zweiten vergleichen. Allerdings muß es semantisch passieren. Es reicht also nicht, wenn ich beide Dateien in ein Byte-Array reinlade und diese Array's dann Zeichen für Zeichen zu vergleichen.
Hilfreiche wäre, wenn ich Daten in bestimmten Tags direkt ansprechen könnte. Gibt es dafür in QT schon Methoden?
Viele Grüße
Jana
XML auslesen
-
kleineSchildy
- Beiträge: 76
- Registriert: 16. September 2004 18:29
- Wohnort: Dresden
-
ArneStocker
- Beiträge: 300
- Registriert: 3. November 2004 16:15
- Wohnort: Berlin
Hi Jana
solche Klassen gibt es in Qt. Eine ausführliche Beschreibung mit Beispielen findest Du u.a. in C++ GUI Programming with Qt 3, Kapitel 14 von Jasmin Blanchette u. Mark Summerfield.
Dort wird u.a. auch auf http://www.saxproject.org/ verwiesen
Gruss Arne
solche Klassen gibt es in Qt. Eine ausführliche Beschreibung mit Beispielen findest Du u.a. in C++ GUI Programming with Qt 3, Kapitel 14 von Jasmin Blanchette u. Mark Summerfield.
Dort wird u.a. auch auf http://www.saxproject.org/ verwiesen
Gruss Arne
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten:
Sampledatei:
sample.cpp
Ich hoffe mal, das nicht allzuviele Fehler drinn sind, aber so sollte das von der Art her klappen.
#include <qdom.h> ist das mit dem qxml.h hab ich ehrlich gesagt nicht wirklich eine Ahnung, wozu das nützlich wäre.
Code: Alles auswählen
<config version="1">
<tag1 id="1234" name="test">Hier steht auch noch was</tag1>
</config>
Code: Alles auswählen
QDomDocument doc;
doc.setContent( &Sampledatei );
QDomNode node = doc.documentElement().firstChild();
while ( !node.isNull() ) {
if ( node.isElement() && node.nodeName() == "tag1" ) {
QString id = node.toElement().attribute( "id" );
QString name = node.toElement().attribute( "name" );
QString text = node.toElement().text();
}
node = node.nextSibling();
#include <qdom.h> ist das mit dem qxml.h hab ich ehrlich gesagt nicht wirklich eine Ahnung, wozu das nützlich wäre.
-
FlorianBecker
- Beiträge: 1213
- Registriert: 2. Dezember 2004 10:54
- Kontaktdaten: