如何在.NET中阅读原子提要

时间:2010-12-08 12:23:45

标签: .net atom-feed

我编写下面给出的代码来阅读Atom feed。

string strUrL = "http://loluyede.blogspot.com/atom.xml";
        WebRequest objWR = WebRequest.Create(strUrL);
        WebProxy objWP = new WebProxy("strAddress", 1978);
        objWP.Credentials = new NetworkCredential("username", "password");
        objWR.Proxy = objWP;
        StreamReader objSR = new StreamReader(objWR.GetResponse().GetResponseStream(), System.Text.Encoding.ASCII);
        AtomFeed feed = AtomFeed.Load(objSR);

在出现错误的语句结束时

ERROR In Code:
The type initializer for 'Atom.Utils.DefaultValues' threw an exception.

页面上的错误

Server Error in '/WebAppUI' Application.
--------------------------------------------------------------------------------

Value cannot be null.
Parameter name: stream 

有人建议我做我必须做的事。

3 个答案:

答案 0 :(得分:2)

查看System.ServiceModel.Syndicationfeed

中的thesyndication-namespace

答案 1 :(得分:1)

看起来你正在使用Atom.NET。这是5年的历史,并提供(据我所知)作为.NET 1.x程序集。这似乎是问题所在 - 如果您在VS2005或更高版本中重建捆绑源,那么您将获得可以使用的程序集。

不幸的是,我不知道捆绑二进制文件为什么不起作用的技术原因。

答案 2 :(得分:-3)

解决方案更简单:

string strUrl = "http://loluyede.blogspot.com/atom.xml";
Stream responseStream = WebRequest.Create(strUrl).GetResponse().GetResponseStream();
StreamReader objSR = new StreamReader(responseStream, System.Text.Encoding.UTF8);
string strTheWholeFeedAsString = objSR.ReadToEnd();

要让它完全启动并运行,您应该从AtomFeed更改为ASP.Net RSS Toolkit(从codeplex免费)。

祝你好运!


2010-09-12编辑:

鉴于AtomFeed项目已经停止并为.NET v1.1编写因此过于陈旧,我创建了一个示例应用程序,使用RSS Toolkit获取您的Feed。您可以从 http://www.isource.ro/StackOverflow/RssReaderTest.zip 下载源代码。

如果您有任何疑问,请不要犹豫。