TinyXml

ufosworld

Grünschnabel
Hi,
ich muss eine XML File unter Linux mittels C++ einlesen und die Inhalte darin in Objekte für die Weiterverwendung speichern.

Hierfür würde denke ich TinyXml reichen, da ich ja nur lesen und als Objekte speichern muss

Nachdem ich das jetzt mal runtergeladen habe, funktioniert zwar das Beispiel
void dump_to_stdout ( ....) im Tutorial einwandfrei (also die einfach ausgabe in der Console) ,sobald ich jedoch das Beispiel mit dem Objektespeichern ausprobieren will, steigt mir der Compiler aus... :mad:

/usr/usr/ready/ben/Projekte/xmlobjectsave/src/xmlobjectsave.h:61: error: ISO C++ forbids declaration of ‘list’ with no type
/usr/usr/ready/ben/Projekte/xmlobjectsave/src/xmlobjectsave.h:61: error: expected ‘;’ before ‘<’ token
/usr/usr/ready/ben/Projekte/xmlobjectsave/src/xmlobjectsave.h: In member function ‘void AppSettings::setDemoValues()’:
/usr/usr/ready/ben/Projekte/xmlobjectsave/src/xmlobjectsave.h:76: error: ‘m_windows’ was not declared in this scope
/usr/usr/ready/ben/Projekte/xmlobjectsave/src/xmlobjectsave.cpp: In member function ‘void AppSettings::save(const char*)’:
/usr/usr/ready/ben/Projekte/xmlobjectsave/src/xmlobjectsave.cpp:65: error: ‘list’ was not declared in this scope
/usr/usr/ready/ben/Projekte/xmlobjectsave/src/xmlobjectsave.cpp:65: error: expected primary-expression before ‘>’ token
/usr/usr/ready/ben/Projekte/xmlobjectsave/src/xmlobjectsave.cpp:65: error: missing template arguments before ‘iter’
/usr/usr/ready/ben/Projekte/xmlobjectsave/src/xmlobjectsave.cpp:65: error: expected `;' before ‘iter’
/usr/usr/ready/ben/Projekte/xmlobjectsave/src/xmlobjectsave.cpp:67: error: ‘iter’ was not declared in this scope
/usr/usr/ready/ben/Projekte/xmlobjectsave/src/xmlobjectsave.cpp:67: error: ‘m_windows’ was not declared in this scope
/usr/usr/ready/ben/Projekte/xmlobjectsave/src/xmlobjectsave.cpp: In member function ‘void AppSettings::load(const char*)’:
/usr/usr/ready/ben/Projekte/xmlobjectsave/src/xmlobjectsave.cpp:131: error: ‘m_windows’ was not declared in this scope
/usr/usr/ready/ben/Projekte/xmlobjectsave/src/xmlobjectsave.cpp: In function ‘int main()’:
/usr/usr/ready/ben/Projekte/xmlobjectsave/src/xmlobjectsave.cpp:169: error: ‘class AppSettings’ has no member named ‘m_windows’
/usr/usr/ready/ben/Projekte/xmlobjectsave/src/xmlobjectsave.cpp:182: error: ‘class AppSettings’ has no member named ‘m_windows’

Sprich der compiliert das ganze Projekt schon mal gar nicht.

Wollte das ganze in KDevelop erstellen.

Folgende Beispiel-XML File wollte ich in Objekten abspeichern....

<?xml version="1.0" ?>
<config>
<input filename= "inputer" port= "192.168.1.100"> </input>
<work filename= "worker" todo = "stingconvert"> </work>
<output filename= "outputer" port= "192.168.1.110"> </output>
</config>

Fragen sind nun:

Hat jemand nen einfach Parser in TinyXML der auf anhieb funktioniert und die Attribute in Objekte speichert?

Muss ich in Kdevelop noch irgendwas an Compilierparamtern im Projekt einstellen?

Muss ich noch irgendwelche .h Files zusätzlich einbinden, das das t....

Dateien die ich im TinyXml benötige sind ja
tinystr.h
tinystr.cpp
tinyxml.h
tinyxml.cpp
tinyxmlparser.cpp
tinyxmlerror.cpp
und der Teil in dem der Main Teil steht.

grüsse und danke schon mal

UFO

p.s. eventl kann mir mal jemand sein Objectbeispiel posten, eventl hab ich ja die Funktionen falsch aufgeteilt und net alles ganz verlinkt...
 
Hi.
Hi,
ich muss eine XML File unter Linux mittels C++ einlesen und die Inhalte darin in Objekte für die Weiterverwendung speichern.

Hierfür würde denke ich TinyXml reichen, da ich ja nur lesen und als Objekte speichern muss

Nachdem ich das jetzt mal runtergeladen habe, funktioniert zwar das Beispiel
void dump_to_stdout ( ....) im Tutorial einwandfrei (also die einfach ausgabe in der Console) ,sobald ich jedoch das Beispiel mit dem Objektespeichern ausprobieren will, steigt mir der Compiler aus... :mad:

/usr/usr/ready/ben/Projekte/xmlobjectsave/src/xmlobjectsave.h:61: error: ISO C++ forbids declaration of ‘list’ with no type
Ich vermute mal (freilich ohne irgendwelchen Code von dir gesehen zu haben) das du vergessen hast den C++ Standard Header "list" einzubinden oder vergessen hast den Namensraum für die list Klasse zu spezifizieren.

Gruß
 
Zurück