Seite 1 von 1

XML im ListWidget

Verfasst: 3. Februar 2009 15:48
von nkc
Hallo, möchte den Inhalt von module, also "auto" in einem ListWidget anzeigen lassen:

XML:

Code: Alles auswählen

 + <module name="auto">
QT:

Code: Alles auswählen

listWidget->addItem(e.tagName());
Mit diesem QT-Code bekomme ich als Ausgabe nur module angezeigt.
Ich möchte jedoch "auto" angezeigt bekommen.

Was jemand wie das geht?
Danke

Verfasst: 3. Februar 2009 16:05
von RD1978
Ich geh mal davon aus das "e" ein Object vom Type QDomElement ist:

Code: Alles auswählen

listWidget->addItem( e.attribute( "name", "standardwert wenn attribut name nicht existiert" ) );

Verfasst: 3. Februar 2009 16:13
von nkc
Danke,

was setze ich denn für "name" ein.
Ich habe das mal getestet, und da wird immer der 2.Parameter ausgegeben,
obwohl in der xml-Datei ein Wert vorhanden ist.

Verfasst: 3. Februar 2009 16:19
von RD1978
Na wenn Dein Attribut name="auto" heißt, dann name.

Eine Frage

Verfasst: 3. Februar 2009 16:33
von nkc
Super, das hat geklapppt, Danke.

Nur eine Frage noch:
Ich, als Programmierer weiß doch nicht, welche xml-Dateien der Benutzer öffnen wird.
Angenommen der Benutzer öffnet eine Datei, in der das Attribut nicht "name" sondern "marke" genannt wird,
was dann?

Verfasst: 3. Februar 2009 16:38
von RD1978
Das ist dann ungefähr so als wenn Du mit Deinem Benziner Diesel tankst. :D

Wozu muß ein Benutzer in Deinem Programm eine beliebiege XML Datei öffnen können?

Verfasst: 3. Februar 2009 16:39
von Christian81
Ein Blick in die Doku könnte ja helfen... QDomNamedNodeMap QDomElement::attributes () const

Verfasst: 3. Februar 2009 16:40
von nkc
Mir war der Aufbau einer xml-Datei nicht ganz bekannt.
Aber mein Arbeitskollege hat mir berichtet, dass der Aufbau der xml-Dateien immer gleich ist.

Danke nochmals, für die Hilfe.