Avatar billede celal Nybegynder
22. august 2012 - 14:39 Der er 6 kommentarer og
1 løsning

XmlReader error

Jeg bruger XmlReader til hente et XML dokument fra http, men jeg får følgende fejl meddelelse:
Uventet XML-erklæring. XML-erklæringen skal være den første node i dokumentet, og der må ikke være blanktegn før den. linje 2, position 3.

Jeg har kigget på kildekoden fro XML dokumentet, og kan konstatere at der i starten af XML dokumentet står "<?xml version='1.0' encoding='ISO-8859-1'?>"

Min Kode ser således ud:

        public static string TestService(string user_id, string set_id, string felter, string sorteringsfelt, string max_antal) {

            string httpServiceUrl = "https://xxxxtest.dk/xml.asp?service=mtest";
            XmlReader xmlReader = XmlReader.Create(httpServiceUrl + "&user_id=" + user_id + "&set_id=" + set_id + "&sorteringsfelt=" + sorteringsfelt + "&felter=" + felter + "&max_antal=" + max_antal);

            try {
                while (xmlReader.Read()) {

                    switch (xmlReader.NodeType) {
                        case XmlNodeType.Element:
                            //writer.WriteStartElement(xmlReader.Name);
                            break;
                        case XmlNodeType.Text:
                            //writer.WriteString(xmlReader.Value);
                            break;
                        case XmlNodeType.XmlDeclaration:
                        case XmlNodeType.ProcessingInstruction:
                            //writer.WriteProcessingInstruction(xmlReader.Name, xmlReader.Value);
                            break;
                        case XmlNodeType.Comment:
                            //writer.WriteComment(xmlReader.Value);
                            break;
                        case XmlNodeType.EndElement:
                            //writer.WriteFullEndElement();
                            break;
                    }

                }

            }
            catch (XmlException e) {
                Console.WriteLine(e.Message);
                Console.WriteLine("Exception object Line, pos: (" + e.LineNumber + "," + e.LinePosition + ")");
                Console.WriteLine("XmlReader value: (" + xmlReader.Value + ")");
            }

            xmlReader.Close();
            return "TEST";

        }

Nogen som har en forklaring, Jeg har også prøvet at bruge XmlextReader, men jeg får samme fejl.

Nogen som har en løsning?
Avatar billede arne_v Ekspert
22. august 2012 - 14:50 #1
Der er vel en tom linie inden den XML header eller noget lignende.

Check ASP siden.
Avatar billede celal Nybegynder
22. august 2012 - 18:39 #2
Det har jeg også kontrolleret. Der Ingen tomme linjer inden headeren.
Avatar billede arne_v Ekspert
22. august 2012 - 18:52 #3
Du har aabnet siden i en browser, gaaet i vi source og verificeret at der ikke er en tom linie over XML header?
Avatar billede celal Nybegynder
22. august 2012 - 20:22 #4
Yes. Det har jeg. Men er der en måde at gå forbi denne linje?
Avatar billede arne_v Ekspert
26. august 2012 - 04:33 #5
Hvis der ikke er en blank linie i toppen er det dybt mystisk.

Er der en blank linie i toppen saa boer den fjernes ved at rette i ASP siden.

Hvis det af en eller anden grund ikke er muligt saa er der visse muligheder for workarounds client side.
Avatar billede celal Nybegynder
27. august 2012 - 10:36 #6
Har fundet fejlen, det er en lang historie, men det korte af det lange, så var det en "fejl 40" :o)
Avatar billede celal Nybegynder
10. maj 2014 - 11:33 #7
Lukker
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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