[gelöst] Text aus QDomNode wird nicht ausgelesen

Alles rund um die Programmierung mit Qt
Antworten
dhcase
Beiträge: 132
Registriert: 10. Juni 2006 20:38

[gelöst] Text aus QDomNode wird nicht ausgelesen

Beitrag 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?
Zuletzt geändert von dhcase am 27. Oktober 2006 19:37, insgesamt 1-mal geändert.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

List du nicht vielleicht den falschen Node aus?

Code: Alles auswählen

QString text = nodeNode.toText().data(); 
dhcase
Beiträge: 132
Registriert: 10. Juni 2006 20:38

Beitrag 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!
dhcase
Beiträge: 132
Registriert: 10. Juni 2006 20:38

Beitrag 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();
Antworten