Avatar billede mfrost Nybegynder
11. oktober 2003 - 16:19 Der er 6 kommentarer og
1 løsning

An invalid character was found in text content

jeg får fejlen "An invalid character was found in text content." når jeg forsøger at vise følgende XML-fil 'test.xml':

<?xml version='1.0' encoding='ISO-8859-1'?>
<test>
<text>æåø</text>
</test>

via denne ASP side:

<%
response.ContentType="text/xml"
set xmldoc = Server.CreateObject("MSXML2.DOMDocument")
xmldoc.async = "false"
xmldoc.load(Server.MapPath("test.xml"))
response.write(xmldoc.text)
%>

hvad er der galt med min load af xml og visning af 'æåø'?
Avatar billede arne_v Ekspert
11. oktober 2003 - 16:22 #1
Er du sikker på at æøå er i ISO-8859-1 ?

Hvsi de er i UTF-8 skal det jo angives.
Avatar billede mfrost Nybegynder
11. oktober 2003 - 16:46 #2
æøå burde være gode chars i ISO-8859-1. Hvis jeg benytter encoding='UTF-8', så får jeg istedet fejlen 'XML document must have a top level element'
.. Men XML'en er jo perfekt valid?
Avatar billede janegil Nybegynder
11. oktober 2003 - 20:16 #3
Hvis det kodes med utf-8, representeres æøå av andre bytes enn i iso-8859-1. Med en editor som XMYspy går det greit - har du ingen editor som 'forstår' utf-8, skal du nok holde deg til iso-8859-1.

Sett med "iso-øyne" er utf-8-versjonen:
<?xml version='1.0' encoding='UTF-8'?>
<test>
<text>æåø</text>
</test>
Avatar billede janegil Nybegynder
11. oktober 2003 - 20:17 #4
Tror MSXML stort sett bare vil ha UTF-16 ?
Avatar billede janegil Nybegynder
11. oktober 2003 - 20:19 #5
...og den ekleste måten å gjemme osm UTF-16, er å be wordpad om å gjemme som UNICOED.
Avatar billede Slettet bruger
11. oktober 2003 - 23:14 #6
Der er to steder fejlen kan opstå:
1: I linjen der loader filen - "xmldoc.load(...)"
2: I linjen der udskriver resultatet - "response.write(...)"

- mit gæt er at det er 2'eren i dette tilfælde, fordi: Du sætter ContentType til "text/xml" - men det du rent faktisk udskriver er XML dokumentets text-værdi, nemlig: "æøå" - prøv med "xmldoc.xml" i stedet for.

/CS
Avatar billede mfrost Nybegynder
12. oktober 2003 - 21:17 #7
janegil>jeg gemte mit xml som unicode, men fik en anden fejlbesked!
Graystate> jep, det var ContentType som var problemet. Jeg rettede den til "text/html", og får xml'en ud i plain text. "xmldoc.xml" virkede dog ikke selvom content var "text/xml" !
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