webForumDet fria alternativet

Encoding via DOM

4 svar · 375 visningar · startad av Vide

VideMedlem sedan dec. 19998 577 inlägg
#1

Tjenare!

Hur kommer jag åt så att jag kan ändra encoding på ett XML-dokument i efterhand (och när jag skapar det) via DOM?

*Notering: Jag spara XML-filen via save på ett recordet.*

Mvh, Vide

------------------
Mostly Harmless

SPiNMedlem sedan mars 20007 896 inlägg
#2

Med metoden createProcessingInstruction() kan du sätta data för hur XML-dokumentet behandlas. Vet dock inte om det ersätter, uppdaterar, eller lägger till de nya instruktionerna. :l

set objXML = Server.CreateObject ( "Microsoft.XMLDOM" )
set objPI = objXML.createProcessingInstruction ( "xml", "version=""1.0"" encoding=""ISO-8859-1""" )
objXML.insertBefore objPI, objXML.childNodes.Item ( 0 )
objXML.save

------------------
SPiN, bjorne.w@telia.com

-- En ask vet jag stånda - den Yggdrasil heter, ett väldigt träd överöst av vita sanden. --

VideMedlem sedan dec. 19998 577 inlägg
#3

Du fick mig på rätt köl iaf, jag använde metoden "setAttribute" efter det att jag sparat filen, vilket egentligen var vad jag ville... ;)

Problemet är att någonstans i sparningen så konverterar den alla konstiga tecken (&,å,ä,ö) till något jag inte sett förut, allt konverteras tillbaks när man hämtar datat igen, förutom & som ligger som &.

Hur löser jag det mån tro?

------------------
Mostly Harmless

SPiNMedlem sedan mars 20007 896 inlägg
#4

Går det inte om du sätter de som ENTITYs?

Typ:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE Vides [
<!ENTITY o_dots "ö">
<!ENTITY a_dots "ä">
<!ENTITY a_dot "å">
]>
<rotelement>
<element2>&o_dots;</element2>
<element3>&a_dot;</element3>
</rotelement>

När du lägger in din information i XML-dokumentet så byter du bara ut ( Replace, alltså :) ) å,ä,ö mot &a_dot;, &a_dots;,&o_dots;.

Sitter bara och gissar, har inget direkt svar på din fråga. :l

------------------
SPiN, bjorne.w@telia.com

-- En ask vet jag stånda - den Yggdrasil heter, ett väldigt träd överöst av vita sanden. --

VideMedlem sedan dec. 19998 577 inlägg
#5

Så kan man förstås göra, men det borde finnas ett inbyggt sätt för det där... tycker man iaf...

------------------
Mostly Harmless

135 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)