none
Cargando un XML con acentos

    Question

  • Buenas,

    Estoy intentando recoger unos datos en XML, y los acentos se "pierden" en el request del webclient.., ¿alguna idea de cómo solucionarlo?

         private void GetData()
            {
                WebClient wc = new WebClient();


                wc.DownloadStringCompleted += HttpsCompleted;
                wc.DownloadStringAsync(new Uri(http://www.tttttttttttttttttttteeeeeeeesssttt)); 
            }

            private void HttpsCompleted(object sender, DownloadStringCompletedEventArgs e)
            {
                if (e.Error == null
                {
                    string datos = HttpUtility.HtmlDecode(e.Result);
                } 
            }
    Gracias
    Jesús Bosch Aiguadé
    http://geeks.ms/blogs/jbosch
    Wednesday, January 26, 2011 11:08 AM

Answers

  • Estoy empanado esta mañana...

    He visto en la cabecera del XML que venía con ISO-8859-1, así que se resuelve el problema de los acentos sencillamente con esta línea:

    wc.Encoding = System.Text.Encoding.GetEncoding("ISO-8859-1");

     

    Saludos


    Jesús Bosch Aiguadé
    http://geeks.ms/blogs/jbosch

    • Marked as answer by Jesús Bosch Wednesday, January 26, 2011 11:32 AM
    Wednesday, January 26, 2011 11:31 AM

All replies

  • Hola Jesús,

     

    No lo he probado pero quizás podrías especificar el encoding en el WebClient.


    Javier Torrecilla
    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi Blog: Jtorrecilla
    Enlace a Faq de Winforms en Ingles Muy bueno
    Wednesday, January 26, 2011 11:16 AM
  • Buenas,

    Eso pensé yo, pero no funciona :( Además en WP7 el enumerado System.Text.Encoding sólo tiene estos valores:

    • Unicode
    • UTF8
    • BigEndianUnicode

    Saludos


    Jesús Bosch Aiguadé
    http://geeks.ms/blogs/jbosch
    Wednesday, January 26, 2011 11:17 AM
  • La verdad es que aqui no puedo probarlo.

     

    Has probado con 

    string datos = e.Result.ToString();


    Javier Torrecilla
    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi Blog: Jtorrecilla
    Enlace a Faq de Winforms en Ingles Muy bueno
    Wednesday, January 26, 2011 11:24 AM
  • tambien, tambien :(

    Miraré que el XML esté generado con UTF-8, es lo único que se me ocurre. Pero si lo abro en Internet Explorer lo veo con sus acentos...


    Jesús Bosch Aiguadé
    http://geeks.ms/blogs/jbosch
    Wednesday, January 26, 2011 11:27 AM
  • Hola Jesus

    En un lector de Rss que hice, tenía ese mismo problema, lo solucione especificando el encoding por nombre:

          WebClient client = new WebClient();
          client.Encoding = System.Text.Encoding.GetEncoding("iso-8859-1");
          client.DownloadStringCompleted += DownloadComplete;
          client.DownloadStringAsync(new Uri(ParentRss.Url));
    

    Este encoding soporta acentos y carácteres especiales como Ñ y otros.

    Espero que te funcione, un gran saludo!

     


    MCTS .NET Framework 3.5 Windows Forms Application Development
    MCTS .NET Framework 3.5 Windows Presentation Foundation
    Visita mi Blog en Geeks.ms
    Sigueme en Twitter
    Wednesday, January 26, 2011 11:31 AM
    Moderator
  • Ya solo se me habia ocurrido con XmlDocument así que mire un poco y encontre esto:

    http://stackoverflow.com/questions/4002989/load-xml-file-from-website-into-xdocument-silverlight-and-wp7

     

    Mira a ver si te sirve...


    Javier Torrecilla
    Para el correcto funcionamiento, y que otros usuarios se puedan beneficiar de la solucion de esta pregunta por favor marca las respuestas que te hayan ayudado como "Respuesta".
    Si la respuesta te ha sido util Votala.
    Mi Blog: Jtorrecilla
    Enlace a Faq de Winforms en Ingles Muy bueno
    Wednesday, January 26, 2011 11:31 AM
  • Estoy empanado esta mañana...

    He visto en la cabecera del XML que venía con ISO-8859-1, así que se resuelve el problema de los acentos sencillamente con esta línea:

    wc.Encoding = System.Text.Encoding.GetEncoding("ISO-8859-1");

     

    Saludos


    Jesús Bosch Aiguadé
    http://geeks.ms/blogs/jbosch

    • Marked as answer by Jesús Bosch Wednesday, January 26, 2011 11:32 AM
    Wednesday, January 26, 2011 11:31 AM