encoding – ‘,十六进制值0x1F,是一个无效字符.第1行,第1位

前端之家收集整理的这篇文章主要介绍了encoding – ‘,十六进制值0x1F,是一个无效字符.第1行,第1位前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图从Web上读取一个xml文件,并使用XDocument解析它.它通常工作正常,但有时它给我这个错误的一天:
**' ',hexadecimal value 0x1F,is an invalid character. Line 1,position 1**

我已经尝试过Google的一些解决方案,但是它们不适用于VS 2010 Express Windows Phone 7.

有一个解决方案将0x1F字符替换为string.empty,但是我的代码返回一个没有替换方法的流.

s = s.Replace(Convert.ToString((byte)0x1F),string.Empty);

这是我的代码

void webClient_OpenReadCompleted(object sender,OpenReadCompletedEventArgs e)
    {
        using (var reader = new StreamReader(e.Result))
        {
            int[] counter = { 1 };  
            string s = reader.ReadToEnd();
            Stream str = e.Result;
       //     s = s.Replace(Convert.ToString((byte)0x1F),string.Empty);
    //        byte[] str = Convert.FromBase64String(s);
     //       Stream memStream = new MemoryStream(str);
            str.Position = 0;
            XDocument xdoc = XDocument.Load(str);                

            var data = from query in xdoc.Descendants("user")
                       select new mobion
                       {
                           index = counter[0]++,avlink = (string)query.Element("user_info").Element("avlink"),nickname = (string)query.Element("user_info").Element("nickname"),track = (string)query.Element("track"),artist = (string)query.Element("artist"),};
            listBox.ItemsSource = data;
        }
    }

XML文件
http://music.mobion.vn/api/v1/music/userstop?devid=

如果您正在解码从网络读取的内容,请考虑使用 System.Web.HttpUtility.HtmlDecode.

猜你在找的XML相关文章