Seite 1 von 1

Hilfe beim XML-Parsen mit QtSoap

Verfasst: 30. August 2012 14:42
von simon.hain
Hallo,
ich bin C-Anfänger und versuche mich an einem Webservice mit QtSoap.
Die Antwort bekomme ich auch erfolgreich und kann sie als xml ausgeben.

Jetzt würde ich gerne die einzelnen Werte auslesen, komme aber mit QtSoapStruct, QtSoapArray usw nicht so ganz zurecht und wäre da für etwas Hilfe dankbar.
Bislang habe ich immer mit generierten Klassen gearbeitet.
Die Werte sollen in Beans übertragen und dann letztlich in einer SQL Datenbank abgelegt werden, aber erstmal bin ich mit dem reinen Zugriff schonmal zufrieden.

Die Struktur der Antwort sieht so aus:

Code: Alles auswählen

<Attributes>
	<item>
       <Objectname>o</Objectname>
       <Attributename>a</Attributename>
       <Value>v</Value>
    </item>
	//noch x items
</Attributes>
<Version>1</Version>
Und hier ist mein (nicht funktionierender) Code zum auslesen:

Code: Alles auswählen

QtSoapStruct &soapStruct = (QtSoapStruct &) resp.method();
QtSoapArray &attributes = (QtSoapArray &) soapStruct["Attributes"];
QtSoapArray &items = (QtSoapArray &) attributes[0];
for (int i = 0; i < items.count(); ++i) {
	QtSoapStruct &item = (QtSoapStruct &) items[i];
	qDebug() << i;
	qDebug() << item["Objectname"].toString();
	qDebug() << item["Attributename"].toString();
	qDebug() << item["Value"].toString();
}
Ich bin für jede Hilfe dankbar, habe auch schon überlegt ob es mit einer xml-Bibliothek einfacher sein könnte, aber an sich ist die Struktur relativ simpel.