在我的Windows Phone应用程序中,我从Internet获取RSS并解析XML。 我从rss中取出Title和Description,并将它们显示在TextBlock中。
在这里我发现一些问题,用菱形代替的特殊字符包含“?”。
/*CONNECTION AND DOWNLOAD RSS*/ WebClient wc = new WebClient(); wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(load_web_news); wc.DownloadStringAsync(new Uri("http://.../rssFeedNews.asp")); .... /*SAVE RSS*/ TextBlock tbTitle = new TextBlock(); Run rTitle = new Run(); rTitle.Text = rss.Title; Run rDescription = new Run(); rDescription.Text = rss.Description; tbTitle.Inlines.Add(rTitle); .... /*PARSING*/ private void load_web_news(object sender, DownloadStringCompletedEventArgs e) { XElement xmlitems = XElement.Parse(e.Result); List<XElement> elements = xmlitems.Descendants("item").ToList(); foreach (XElement rssItem in elements) { RSSItem rss = new RSSItem(); rss.Description1 = rssItem.Element("description").Value; String title = rssItem.Element("title").Value;
如何在WIndows手机应用程序中显示特殊字符,例如“à”“è”“°”等...
答案 0 :(得分:2)
WebClient可能没有使用正确的编码来下载你的RSS源,尝试将Encoding属性设置为正确的(也许是Unicode?):
wc.Encoding = System.Text.Encoding.Unicode;
或者如果您知道使用了哪种特定编码:
wc.Encoding = System.Text.Encoding.GetEncoding("encoding name here") ;