Seite 1 von 1

[gelöst] Text aus QDomNode wird nicht ausgelesen

Verfasst: 27. Oktober 2006 18:12
von dhcase
Hi,
ich möchte den Text aus einem QDomNode auslesen, folgender Code

Code: Alles auswählen

if (element.tagName() == "E42.Object_Identifier")
	{
		QDomNode typeNode = element.firstChild();
		QDomNode noteNode = typeNode.nextSibling();

		QString text = typeNode.toText().data();
	}
Das entsprechende XML-Fragment sieht folgendermaßen aus:

Code: Alles auswählen

<crm:E42.Object_Identifier>
      <crm:P2F.has_type>archivnr</crm:P2F.has_type>
      <crm:P3F.has_note>000001A</crm:P3F.has_note>
</crm:E42.Object_Identifier>
Der Node typeNode ist der richtige, der Text wird aber nicht ausgelesen, der String bleibt leer... warum?

Verfasst: 27. Oktober 2006 19:00
von upsala
List du nicht vielleicht den falschen Node aus?

Code: Alles auswählen

QString text = nodeNode.toText().data(); 

Verfasst: 27. Oktober 2006 19:13
von dhcase
List du nicht vielleicht den falschen Node aus?
Daran liegts nicht, ich möchte eigentlich beide Nodes auslesen, aber es klappt bei keinem von beiden.
Wenn ich den NodeType mit typeNode.nodeType() oder noteNode.nodeType() teste, dann ist es ein ElementNode. Nach dem umwandeln mit .toText() zeigt es mir auch brav einen TextNode an, aber auslesen kann ich den nicht!

Verfasst: 27. Oktober 2006 19:37
von dhcase
hat sich erledigt, der TextNode ist ein Child des aktuellen Nodes... folgendes funktioniert

Code: Alles auswählen

QString text = typeNode.firstChild().toText().data();