01. marts 2001 - 16:30Der er
7 kommentarer og 1 løsning
Encoding
Dette er vist et meget simpelt spørgsmål. Jeg henter et XML-dokument fra en Request. Problemet er, at dette dokument har \"<?xml version=\"1.0\"?>\" som første linje, og så lavet det fejl ved danske karakterer. Hvordan ændrer jeg denne første linie inden fejlen opstår?
<%@ Language=VBScript %> <% Dim mydoc Set mydoc=Server.CreateObject(\"Microsoft.XMLDOM\") mydoc.async=false mydoc.load(Request) if mydoc.parseError.errorcode<>0 then response.write(\"Fejl\") else response.write(\"ingen fejl\") end if %>
Prøv igen - jeg venter i spænding. Problemet er netop at jeg læser dokumentet fra en ekstern kilde og derfor IKKE kan ændre ?xml-version først jeg læser det.
Problemet ligger ikke i din kode med i dem der leverer XML-feedets mangel på ordentlig encoding. Hvis de specificerer en forkert (eller ingen) encoding, og ikke overholder det i deres data er deres XML dokument ikke gyldigt ifølge DOM. Hvis du ikke kan få dem til at ændre deres encoding skal du til at hoppe over gærder ved at lade være med at parse dokumentet, trække det ud som en streng og \"fikse\" encodingen ved at ændre i strengen for derefter at lægge det tilbage i et XMLDOM og parse det.... Trist men sandt. Sådan er det i hvert fald med MS XMLDOM. Man kunne forestille sig andre DOM-parsere der vil give adgang at ændre encodingen før man parser...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.