Я пытаюсь прочитать 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=