我想从网上读取一个xml文件并使用XDocument解析出来。它通常工作正常,但有时它给我这个错误的一天:'',十六进制值0x1F,是一个无效的字符。第1行,位置1
**' ', hexadecimal value 0x1F, is an invalid character. Line 1, position 1**
我试图从谷歌的一些解决方案,但他们没有对VS 2010速成的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=
您可以尝试发布XML内容吗? –
我已经试过这个,但没有工作,仍然给出这个错误: s = s.Replace(Convert.ToString((byte)0x1F),string.Empty); Stream str = new MemoryStream(UTF8Encoding.UTF8.GetBytes(s)); –
这里是我尝试阅读的xml文件: http://music.mobion.vn/api/v1/music/userstop?devid= –