Avatar billede jsbananen Nybegynder
03. februar 2003 - 12:53 Der er 6 kommentarer

Problemer med anførselstegn i XML

Hej!

Jeg importerer nogle XML-docs, hvor der er anvendt nogle anførselstegn, som volder mig problemer. F.eks...:

[snip]
<block>
Postmand Per, Postby, havde den 24. januar et l&#230;serbrev i avisen under overskriften &#132;Abekatten fik ret&#147;.
</block>
[/snip]

Problemet er, at når jeg tilgår teksten med MsXmlDOM er disse &#132; og &#147; lavet om til den samme karakter med ascii-værdien 63.

Dvs. nu er den tekst jeg får fat i...:

[snip]
<block>
Postmand Per, Postby, havde den 24. januar et læserbrev i avisen under overskriften ?Abekatten fik ret?.
</block>
[/snip]

Dvs. allerede når jeg har fat i teksten med getElementsByTagName er der foregået en konvertering, så jeg ikke engang kan komme til at erstatte problemtegnene med med noget bedre.

Encoding på dokumentet er "windows-1252", og jeg har ikke mulighed for at lave om i de dokumenter, jeg modtager.

Jeg anvender Msxml2.DOMDocument.4.0 fra ASP.

Nogen der ved, hvordan jeg kan løse det?
Avatar billede bufferzone Praktikant
03. februar 2003 - 13:18 #1
Kan du ikke lave en valideringsrutine, hvor du søger og erstatter alle de tegn der giver problemer med tegn der ikke giver problemer
Avatar billede jsbananen Nybegynder
03. februar 2003 - 13:46 #2
Det kunne jeg i princippet godt, det virker bare ikke som den "rigtige" løsning.
Avatar billede bufferzone Praktikant
03. februar 2003 - 18:26 #3
På mig virker det som den helt rigtige løsning. Hvis du har fuldt med i den seneste skriven om sikkerhed, vil di vide at en af de vigtigste ting når vi taler web server sikkerhed er validering af input. Ved at validere dit input ordentligt, sikre du dig mod mange problemer og ubehagelige overraskelser, en validering der fejerner åbentlyse fejlmuligheder er en meget professionel måde at gøre tingene på, du kan nemlig ikke være sikker på at det kun er anførselstegn der giver problemer, hvad hvis der indtastes noget der at din webserver bliver opfattet som kode ind i dine felter, så resikere du fæle ting hvis du ikke har valideret dig ud af problemet. Det er netop sådan de store sikkerhedshuse anbefaler man gør
Avatar billede jsbananen Nybegynder
04. februar 2003 - 08:23 #4
Men dette er ikke XML jeg selv gemmer. Det kommer fra et redaktionelt system, som anvendes på en avis. Dvs. input er slet ikke noget jeg er herre over. Derfor er den del af processen helt ude af mine hænder, jeg får bare denne XML leveret til dørtrinnet, om du vil.
Avatar billede janegil Nybegynder
13. marts 2003 - 13:04 #5
"Vet" din MsXmlDOM at dokumentet er kodet med Windows-1252? Altså, starter fx dokumentet med <?xml version="1.0" encoding="windows-1252"?> ?

Har du eventuelt noen mulighet til å få konvertert dokumentet fra windows-1252 til UTF-16, som later til å være Microsofts favoritt-koding når det gjelder XML?
Avatar billede jsbananen Nybegynder
13. marts 2003 - 13:33 #6
Dokumentet starter med <?xml version="1.0" encoding="windows-1252"?>

Jeg har dog løst problemet ved at lave en præ-processering, hvor problematiske tegn skiftes ud med andre, som ikke giver problemer.

Men mange tak for kommentaren. :)
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester