[gelöst] XML mysteriöse Leerzeichen

Alles rund um die Programmierung mit Qt
Antworten
pumbah
Beiträge: 31
Registriert: 19. August 2005 21:13

[gelöst] XML mysteriöse Leerzeichen

Beitrag von pumbah »

Hi,

ich habe ein kleines Programm zum Parsen einer XML-Datei geschrieben (XmlDefaultHandler), das immer wenn es auf ein bestimmtes Start-Tag trift den Inhalt ausgeben soll, der in diesem Tag steht.

Nach meiner Vorstellung sollte z.B.

---------------
Hallo Welt!
---------------

ausgegeben werden, wenn das folgende Tag

<msg>Hallo Welt!</msg>

geparst wird.

Leider wird aber eher

---------------------

Hallo Welt!


---------------------

ausgegeben (gemeint ist das zwischen den gestrichelten Linien).

ich implementiere

bool QXmlContentHandler::characters ( const QString & ch ) {
if ( context == ContextMsg )
cout << ch <<endl;
return true;
}

-context ist eine enum

(Aus dem Gedächtnis. Bin gerade nicht im Büro)


Hat jemand eine Idee, was da läuft, wie ich es nicht will?

Gibt es eine bessere - fehlerfreie - Möglichkeit. Ich arbeite mich gerade erst ein.

cu,

pumbah
Zuletzt geändert von pumbah am 23. August 2005 21:21, insgesamt 2-mal geändert.
dani
Beiträge: 28
Registriert: 11. August 2005 22:22

Beitrag von dani »

Wenn das wirklich so da steht, ist das böse ;)

" if ( context = ContextMsg ) "
pumbah
Beiträge: 31
Registriert: 19. August 2005 21:13

Beitrag von pumbah »

Danke Dani, ich habe es korrigiert.

Aber das war sicherlich nicht mein Fehler. 8)
pumbah
Beiträge: 31
Registriert: 19. August 2005 21:13

Lösung

Beitrag von pumbah »

Hi,

ich habe den context im endHandler auf ContextNone gesetzt. Damit wurde ch (und somit die Leerzeichen) nicht mehr ausgegeben.

Zur Erinnerung: context brauchte ich, um zu prüfen ob der Inhalt des anktuellen Tags von der Funktion characters() ausgegeben wird.

cu,

pumbah
Antworten