gpt4 book ai didi

c# - 阅读 iso-8859-1 rss 提要 C# WP7

转载 作者:太空狗 更新时间:2023-10-30 00:56:59 26 4
gpt4 key购买 nike

我正在尝试阅读使用 iso-8859-1 编码的 rss 提要。

我可以很好地获取所有元素,问题是当我将它放在文本 block 中时它不会显示所有字符。我不确定我做错了什么。我已经尝试了一些我在谷歌上找到的解决方案,但这对我不起作用。我一定是遗漏了什么……这也是我第一次真正使用 utf-16 以外的任何东西。我以前从来不需要转换任何东西。

该应用程序的工作方式如下我下载字符串异步(WebClient)。所以当它被调用时,我得到一个包含完整 rss 提要的字符串。

我试过获取字节,然后进行编码转换。但我一定遗漏了一些东西。

这是一个例子

        WebClient RSS = new WebClient();
RSS.Encoding = Encoding.GetEncoding("ISO-8859-1");
RSS.DownloadStringCompleted += new DownloadStringCompletedEventHandler(RSS_DSC);
RSS.DownloadStringAsync(new Uri("some rss feed"));


public void RSS_DSC(object sender, DownloadStringCompletedEventArgs args)
{

_xml = XElement.Parse(args.Result);
foreach(XElement item in _xml.Elements("channel").Elements("item"))
{
feeditem.title = item.Element("title").Value;
// + all other items

}
}

我也试过

private void RSS_ORC(object sender, OpenReadCompletedEventArgs args)
{
Encoding e = Encoding.GetEncoding("ISO-8859-1");

Stream ez = args.Result;

StreamReader rdr = new StreamReader(ez, e);
XElement _xml = _xml = XElement.Parse(rdr.ReadToEnd());
feedlist = new List<Code.NewsItem>();

XNamespace dc = "http://purl.org/dc/elements/1.1/";
foreach (XElement item in _xml.Elements("channel").Elements("item"))
{

Code.NewsItem feeditem = new Code.NewsItem();
feeditem.title = item.Element("title").Value;
feeditem.description = item.Element("description").Value;
feeditem.pubdate = item.Element("pubDate").Value;
feeditem.author = item.Element(dc + "creator").Value;

feedlist.Add(feeditem);
}
listBox1.ItemsSource = feedlist;
}

虽然标题中包含的字符也显示不佳。就像..我可以让编码部分工作。而不是具有这些字符:带问号的方 block 、问号或单个方 block 。

不要误会我的意思,我是这方面的新手。但是网上发布的解决方案并没有为我解决。

请注意,我删除了编码部分,因为它不起作用:/如果有人能够帮助我,那就太好了。

最佳答案

您可以通过在 调用 client.DownloadStringAsync 之前设置编码来指定编码:

webClient.Encoding = Encoding.GetEncoding("iso-8859-1")

在您的代码示例中,您没有在任何地方创建 XML 文档。是否缺少某些代码?你应该用类似的东西初始化它:

var xml = XDocument.Load((string)args.Result);

关于c# - 阅读 iso-8859-1 rss 提要 C# WP7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6329959/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com