WebからXMLファイルを読み込み、XDocumentを使って解析しようとしています。これは、通常は正常に動作しますが、時にはそれが私の一日のために、このエラーを与える:''、16進値0x1Fは無効な文字です。 1行目、1行目
**' ', hexadecimal value 0x1F, is an invalid character. Line 1, position 1**
私はGoogleからのいくつかのソリューションを試みたが、彼らはVS 2010 ExpressのWindowsの携帯電話のための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); ストリームstr =新しいメモリストリーム(UTF8Encoding.UTF8.GetBytes(s)); –
ここには私が読むことを試みるxmlファイルがあります: http://music.mobion.vn/api/v1/music/userstop?devid= –