SaveXML() Fehler
Verfasst: 17.03.2010 13:27
Moin zusammen,
mglw. habe ich da einen Bug in der xml-lib entdeckt (Pb 4.40 x86) und vielleicht kann das mal wer validieren:
wenn ich ein xml-File mittels LoadXML() geladen habe und es anschliessen wieder mit SaveXML() abspeichere werden sog. inline-Elemente zerschossen. Konkretes Beispiel:
aus:
<?xml version="1.0"?>
<text>Ich bin ein CDATA Text und werde später mal ab <hervorheben>hier irgendwie hervorgehoben, z.B. durch Fettdruck. Aber ab </hervorheben>hier werde ich wieder normal dargestellt.</text>
wird:
<?xml version="1.0"?>
<text>
Ich bin ein CDATA Text und werde später mal ab h
<hervorheben>
hier irgendwie hervorgehoben, z.B. durch Fettdruck. Aber ab
</hervorheben>
ier werde ich wieder normal dargestellt.
</text>
...man beachte das "h". Das stand vor dem Lade/Speicher-Vorgang hinter dem inline-Tag; bei einem weiteren Lade/Speicher-Vorgang wird übrigens das nächste Zeichen, also "i" verschoben usw.
Bislang kann ich das nur kompensieren, indem ich vor jedem Ladevorgang auf Textebene eine "Vorformatierung" durchführe. Für das Beispiel sieht das dann so aus:
aus:
<?xml version="1.0"?>
<text>
Ich bin ein CDATA Text und werde später mal ab
<hervorheben>
hier irgendwie hervorgehoben, z.B. durch Fettdruck. Aber ab
</hervorheben>
hier werde ich wieder normal dargestellt.
</text>
wird:
<?xml version="1.0"?>
<text>
Ich bin ein CDATA Text und werde später mal ab<hervorheben>
hier irgendwie hervorgehoben, z.B. durch Fettdruck. Aber ab
</hervorheben>hier werde ich wieder normal dargestellt.
</text>
...aber das kanns ja eigentlich nicht sein, oder?
mglw. habe ich da einen Bug in der xml-lib entdeckt (Pb 4.40 x86) und vielleicht kann das mal wer validieren:
wenn ich ein xml-File mittels LoadXML() geladen habe und es anschliessen wieder mit SaveXML() abspeichere werden sog. inline-Elemente zerschossen. Konkretes Beispiel:
aus:
<?xml version="1.0"?>
<text>Ich bin ein CDATA Text und werde später mal ab <hervorheben>hier irgendwie hervorgehoben, z.B. durch Fettdruck. Aber ab </hervorheben>hier werde ich wieder normal dargestellt.</text>
wird:
<?xml version="1.0"?>
<text>
Ich bin ein CDATA Text und werde später mal ab h
<hervorheben>
hier irgendwie hervorgehoben, z.B. durch Fettdruck. Aber ab
</hervorheben>
ier werde ich wieder normal dargestellt.
</text>
...man beachte das "h". Das stand vor dem Lade/Speicher-Vorgang hinter dem inline-Tag; bei einem weiteren Lade/Speicher-Vorgang wird übrigens das nächste Zeichen, also "i" verschoben usw.
Bislang kann ich das nur kompensieren, indem ich vor jedem Ladevorgang auf Textebene eine "Vorformatierung" durchführe. Für das Beispiel sieht das dann so aus:
aus:
<?xml version="1.0"?>
<text>
Ich bin ein CDATA Text und werde später mal ab
<hervorheben>
hier irgendwie hervorgehoben, z.B. durch Fettdruck. Aber ab
</hervorheben>
hier werde ich wieder normal dargestellt.
</text>
wird:
<?xml version="1.0"?>
<text>
Ich bin ein CDATA Text und werde später mal ab<hervorheben>
hier irgendwie hervorgehoben, z.B. durch Fettdruck. Aber ab
</hervorheben>hier werde ich wieder normal dargestellt.
</text>
...aber das kanns ja eigentlich nicht sein, oder?