SaveXML() entfernt Umbrüche

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

SaveXML() entfernt Umbrüche

Beitrag von Fluid Byte »

Ich habe diverse XML files (nicht mit PB erstellt) die ich modifizieren und wieder abspeichern will. Ich hab zwar noch nie was mit der XML Lib gemacht aber laden und 1:1 neu abspeichern funktioniert. Allerdings werden Umbrüche, welche in der Form
&# 13;
in der Datei enthalten sind, beim einem erneuten Abspeichern entfernt.

Das XML File ist absolut valide also denke ich das einfach in PB eine entsprechende Standard-Formatierungs Einstellung geändert werden muss.

Nachtrag:

Er entfernt die Umbrüche nicht sondern wandelt sie Windows-native um.
Windows 10 Pro, 64-Bit / Outtakes | Derek
Benutzeravatar
AND51
Beiträge: 5220
Registriert: 01.10.2005 13:15

Beitrag von AND51 »

Als XML-Anfänger würde ich vermuten, dass du die Tags, in denen
vorkommt, als CDATA markieren musst.
Kann aber auch sein, dass ich gerade Quatsch geredet habe...

P.S.: Womit guckst du dir das XML-File denn an? Mit einem Browser oder Notepad? Denn wenn sie in Notepad drinstehen, bedeutet das der Brwoser sie bei der Darstellung umwandelt.

// Edit: Jau, lesen sollte man.
> Er entfernt die Umbrüche nicht sondern wandelt sie Windows-native um
Ja, dann versuchs mal mit CDATA!
PB 4.30

Code: Alles auswählen

Macro Happy
 ;-)
EndMacro

Happy End
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

AND51 hat geschrieben:Ja, dann versuchs mal mit CDATA!
jep:

Code: Alles auswählen

inXML.s = "<holla>Zeile1&# 13;Zeile2</holla>"
CatchXML(0, @inXML, Len(inXML))
outXML.s = Space(ExportXMLSize(0))
ExportXML(0, @outXML, Len(outXML))
FreeXML(0)
Debug outXML

inXML.s = "<holla><![CDATA[Zeile1&# 13;Zeile2]]></holla>"
CatchXML(0, @inXML, Len(inXML))
outXML.s = Space(ExportXMLSize(0))
ExportXML(0, @outXML, Len(outXML))
FreeXML(0)
Debug outXML
Grüße ... Kiffi

\\ Edit: Zum Testen das Space zwischen # und 13 entfernen.
a²+b²=mc²
Benutzeravatar
Fluid Byte
Beiträge: 3110
Registriert: 27.09.2006 22:06
Wohnort: Berlin, Mitte

Beitrag von Fluid Byte »

Jupp, dat lübt! :D

Zänkz ju werry match!
Windows 10 Pro, 64-Bit / Outtakes | Derek
Antworten