DOM docoment schliesen

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
hallo,

folgendes Problem bringt mich zum verzweifeln.

1.) ich habe eine XML file (logisch :) )
2.) ich parse sie mit DOM (funzt einwandfrei)
3.) habe in diese XML file folgende 2 TAGs ( neben vielen anderen, ist eigentlich ein InstallAnywhere Project file!)
a.) <string><![CDATA[]]></string>
b.) <string><![CDATA[${CS2HF_PACKED_DIR}]]></string>

bei b.) ersetzte ich das ${CS2HF_PACKED_DIR} durch einen String aus einer propertie file
--> klappt alles wunder bar.
--> PROBLEM: wenn ich nun das document schliesen will, d.h. alle änderungen in die XML file zurück schreiben
dann wird dies zwar gemacht, aber aus allen, im dokument vorkommenden, a.) wird aus
<string><![CDATA[]]></string> dass --> </string>

--> XML Dokument is nich mehr gültig. ich schliese das dokument mit
Code:
     this.transformer.transform(source, result);

ansonsen wird alles richtig geschrieben, halt nur wenn so ein cdata-section element leer ist, mach der so ne scheise.

an was kann das liegen???

danke für eure hilfe.

gru wako
 

Bleiglanz

Gesperrter Benutzer
<string><![CDATA[]]></string>

wird zu </string> ? meinst du <string/>?

das ist dasselbe, den Dokumente muss nach dem speichern gültig sein, XML Prozessoren können nicht auf gut Glück CDATA Elemente einfügen (brauchts auch gar nicht), normalerweise enthält das gespeicherte Dokument dann die "richtigen" Zeichen!

Ein <![CDATA[]]> wird einfach durch "Nichts" ersetzt, es ist ja auch "Nichts", denk mal drüber nach
 
G

Guest

Gast
also ist ein </string> aleine ein gültiger xml tag?

naja, wenn es denn so ist hab ich ein problem, denn installanywhere will da umbedingt ein
<string><![CDATA[]]></string>
haben.

habs jetzt anders gelöst ohne DOM...auf die gute alte art...
BufferedReader immer zeilenweise einlesen, parsen und gegebenfalls was ändern
BufferedWriter neue Datei schreiben

danke aber trotzdem.
bin dennoch der meinung das beim zurückschreiben aller elemente aus dem speicher so etwas
nicht sein darf...vielleicht isses ja auch ein bug :)

egal, thx wako
 

foobar

Top Contributor
also ist ein </string> aleine ein gültiger xml tag?
Nein, das ist ein schließender Tag. Du meinst bestimmt <string/>. Wobei <string/> nur eine andere Schreibweise ist für <string></string>. Deshalb wird <string/> auch Empty-Element genannt.
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben