Du kan bruge en CDATA sektion til at gemme data. XML parseren vil ignorere indholdet af CDATA sektionen. Med det, mener jeg at den ikke decompiler (special karakter) dataerne inden i en CDATA sektion men indlæser det som"rå" data.
Eks.
<exe name="test.txt">
<![CDATA[Dette er indholdet af test.txt filen..]]>
</exe>
Problemet kommer hvis dine binær data indholder ascii værdierne "]]>" da disse ikke må optræde inden i en CDATA sektion. Du kunne evt. lave din egen "escape" funtionalitet som indsætter "\\" foran ">" og selvfølgelig "\\" (lidt ala addslashes/stripslashes i php eller i C streng syntaksen).
Eller du kunne gemme data i base64 som selv forslår.
Jeg vil så lige høre. Det eneste som XML parseren går efter er ">"? Altså - det er nok blot at escape ">"-tegnet? Jeg vil bare være sikker på at "]]" ikke har nogen reel betydning uden der også er et ">" lige efterfølgende. Du siger at det er nok at escape med blot "\\", dvs. at "]]\\>" ikke bliver opfattet som noget af compileren, vel? Hvis det er ">" der har en betydning, kan man jo blot lave en escaping, hvor "\\a" betyder ">" og "\\b" betyder "\\".
Når du siger at parseren er ligeglad med specialtegn i en CDATA-sektion, betyder det vel også et som "&", der jo netop bruges til at lave specialtegn andre steder ... Så man kan godt skrive "abc&abc" uden at det har nogen betydning?
Men ellers tak for et godt svar. Jeg giver point i aften.
/ Bjarke
--------------------------------------------------
[THIS IS A SIGNATURE VIRUS! PLEASE COPY IT INTO YOUR OWN SIGNATURE(S)]
--------------------------------------------------