Alles rund um die Programmierung mit Qt
dhcase
Beiträge: 132 Registriert: 10. Juni 2006 20:38
Beitrag
von dhcase » 27. Oktober 2006 18:12
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 » 27. Oktober 2006 19:00
List du nicht vielleicht den falschen Node aus?
dhcase
Beiträge: 132 Registriert: 10. Juni 2006 20:38
Beitrag
von dhcase » 27. Oktober 2006 19:13
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 » 27. Oktober 2006 19:37
hat sich erledigt, der TextNode ist ein Child des aktuellen Nodes... folgendes funktioniert