Я пытаюсь прочитать XML файл из Интернета и проанализировать его с помощью XDocument. Обычно он работает нормально, но иногда он дает мне эту ошибку за день:
**' ', hexadecimal value 0x1F, is an invalid character. Line 1, position 1**
Я пробовал некоторые решения от Google, но они не работают на VS 2010 Express Windows Phone 7.
Существует решение, которое заменяет символ 0x1F на string.empty, но мой код возвращает поток, который не имеет метода replace.
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=