XML (in QDom) EmptyTag / Leer-Tag erzeugen

Alles rund um die Programmierung mit Qt
Antworten
webbasti
Beiträge: 18
Registriert: 11. Januar 2006 09:14

XML (in QDom) EmptyTag / Leer-Tag erzeugen

Beitrag von webbasti »

Hallo!

Ich möchte unbedingt,
dass mir QDom bei einem Leer-Tag anstatt

Code: Alles auswählen

<tagname/>
ein

Code: Alles auswählen

<tagname></tagname> 
erzeugt wird.

Jemand eine Idee wie das geht?

Danke, Basti
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Mir ist nichts dergleichen bekannt.
Was soll das für einen Sinn haben?
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
webbasti
Beiträge: 18
Registriert: 11. Januar 2006 09:14

Sinn

Beitrag von webbasti »

Es gibt eine FEST definierte Schnittstelle, die es nur so akzeptiert.
Eine Diskussion darüber bringt mir da aber nix. ;-)
Wie sehr unkonform sie auch noch sein mag..
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

Also anders ausgedrückt - die Schnittstelle ist scheisse und kann im Grunde gar kein XML verarbeiten sondern tut nur so. :)

Wenn ich den Quellcode richtig lese, geht es nicht so ohne weiteres -> qt-4/src/xml/qdom.cpp, Funktion "QDomElementPrivate::save(QTextStream& s, int depth, int indent)".

- Mag Deine Spec ein Leerzeichen zwischen <tagname> und </tagname> - wenn ja dann definiere deine leeren Inhalte als ein Leerzeichen ...

- Da die Ausgabe aber auch in ein QTextstream geht, könntest du dann per QRegExp nach "<([^/]*)/>" suchen und dann mit "<\1></\1>" ersetzen.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
webbasti
Beiträge: 18
Registriert: 11. Januar 2006 09:14

Problem gelöst

Beitrag von webbasti »

Auf die einfachste Methode bin ich natürlich nicht gekommen:

einfach eine leere Textnode hinzufügen:

Code: Alles auswählen

Element.appendChild( docXML.createTextNode( "" ) );
Vielleicht stößt ja mal wieder jemand auf das Problem!
Antworten