仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 643|回复: 7
打印 上一主题 下一主题

[学习教程] ASP.NET网站制作之怎样使用.NET Framework利用RSS feed

[复制链接]
因胸联盟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:49:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我有个同学,他是搞Java的,他给我说“Java不是效率低,而是速度慢。”,我不是搞Java的,我实在想不透这句话的含义,难道执行速度不就是效率低吗?难道执行速度慢还成效率高了?rss  假如想使用.NETFramework来利用RSSfeed的话,这实在其实不庞大。你只必要做上面几步就能够了:
  ◆链接到供应RSSfeed的网站
  ◆下载feedXML
  ◆将feed的XML装载到同意搜刮的工具中
  ◆为你想提取的结点搜刮feed的XML
  .NETFramework供应了内置函数来完成一切的义务。我们所必要做的就是,将这些功效绑定在一同,如许我们就能够利用RSSfeeds。
  链接到服务器
  我们可使用WebRequest工具链接到服务器上。WebRequest工具使你能够在Web站点上贴出哀求,自从RSS经由过程HTTP传输后,WebRequest工具就成了链接服务器最次要的选择了。
  ListingA中的代码告知我们,任何将一个新的WebRequest工具与一个URL举行毗连。
  ListingA
  1. //CreateaWebRequestobject
  2. WebRequestmyRequest=WebRequest.Create(url);
复制代码
  在这个例子中,也能够用完全URL的来代替RSSfeed中的“url”。上面是MSNAutomotiveRSSfeed的地点:http://rss-feeds.msn.com/autos/autosnews.xml
  下载RSS数据
  当我们毗连到服务器以后,我们必要下载feed供应的数据。WebRequest工具为完成这个目标供应了一个GetResponse()办法。WebRequest.GetResponse()办法前往一个WebRequest工具,这个工具依据我们的哀求给我们会见服务器的呼应。
  在这里我们将用到WebResponse(Web呼应)工具的GetResponseStream()办法。这个办法前往一个Stream工具,这个工具中包括了服务器所呼应的原始RSSXML。ListingB中的代码告知我们怎样从WebRequest(Web哀求)工具失掉WebResponse(Web呼应)工具,和怎样从WebResponse(Web呼应)工具得呼应流。
  ListingB
  1. //GettheresponsefromtheWebRequest
  2. WebResponsemyResponse=myRequest.GetResponse();
  3. //Gettheresponsesstream
  4. StreamrssStream=myResponse.GetResponseStream();
复制代码
  将RSS数据装载到XML文档中
  一旦我们从WebResponse(Web呼应)工具失掉了流,我们就将这个流下载到XmlDocument工具中了。如许我们就很简单对XML数据举行剖析了,并能轻松地从中取值。失掉XmlDocument装载Stream最复杂的办法是,创立一个新的XmlDocument工具,并将我们的Stream传送给Load办法。ListingC为我们申明了这个办法的利用。
  ListingC
  1. //CreatetheXmlDocument
  2. XmlDocumentdocument=newXmlDocument();
  3. //LoadthestreamintotheXmlDocumentobject.
  4. document.Load(rssStream);
复制代码
  剖析XML
  这是利用RSSfeed最难的部分。我们必需利用方才创立的XmlDocument来失掉含有我们本人数据的XML结点。我们广泛感乐趣的结点是:
  ◆Feed的题目,它寄存在feedXML中的/rss/channel/title文件内里

  ◆Feed的文章,它寄存在feedXML中的/rss/channel/item文件内里。在这个地位大概有多个结点。

  ◆文章的题目,它寄存在文章结点中的title内里。

  ◆文章的形貌,它寄存在文章结点的description内里。

  ◆文章的链接,它寄存在文章结点的link内里。
  我们可使用XmlDocument工具内置的SelectSingleNode函数和SelectNodes函数来失掉这些结点。这两个函数都能够承受XPath查询,也都能够前往与查询了局相婚配的一个或多个结点。
  ListingD这段代码告知我们怎样利用XmlDocument和Xpath从RSSfeed平分析出每一个独自的元素。
  ListingD
  1. //GetanXmlDocumentobjectthatcontainsthefeedsXML
  2. XmlDocumentfeedDocument=
  3. GetXmlDocumentFromFeed("http://rss-feeds.msn.com/autos/autosnews.xml");
  4. //CreateaXmlNamespaceManagerforournamespace.
  5. XmlNamespaceManagermanager=
  6. newXmlNamespaceManager(feedDocument.NameTable);
  7. //AddtheRSSnamespacetothemanager.
  8. manager.AddNamespace("rss","http://purl.org/rss/1.0/");
  9. //GetthetitlenodeoutoftheRSSdocument
  10. XmlNodetitleNode=
  11. feedDocument.SelectSingleNode("/rss/channel/title",manager);
  12. //Getthearticlenodes
  13. XmlNodeListarticleNodes=
  14. feedDocument.SelectNodes("/rss/channel/item",manager);
  15. //Loopthroughthearticlesandextract
  16. //theirdata.
  17. foreach(XmlNodearticleNodeinarticleNodes)
  18. {
  19. //Getthearticlestitle.
  20. stringtitle=
  21. articleNode.SelectSingleNode("title",manager).InnerText;
  22. //Getthearticleslink
  23. stringlink=
  24. articleNode.SelectSingleNode("link",manager).InnerText;
  25. //Getthearticlesdescription
  26. stringdescription=
  27. articleNode.SelectSingleNode("description",manager).InnerText;
  28. }
复制代码
  不是一切的RSSfeed的创立都是不异的
  假如一切的RSSfeed都利用不异的格局,它将变得更壮大,但是RSSfeed有很多分歧的版本和完成。在这篇文章中形貌的格局合适年夜部分的feed,大概有少部分的RSSfeed格局与这个格局分歧。
c语言的编译器,几乎是所有新平台都有的。因此从这点上看,c语言的程序,比其他任何语言更加容易跨平台。
精灵巫婆 该用户已被删除
沙发
发表于 2015-1-20 05:16:55 | 只看该作者
代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。
愤怒的大鸟 该用户已被删除
板凳
发表于 2015-1-26 15:45:13 | 只看该作者
主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。
只想知道 该用户已被删除
地板
发表于 2015-2-4 15:50:04 | 只看该作者
那么,ASP.Net有哪些改进呢?
小妖女 该用户已被删除
5#
发表于 2015-2-10 03:30:10 | 只看该作者
目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.
admin 该用户已被删除
6#
发表于 2015-2-28 18:28:33 | 只看该作者
关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。
分手快乐 该用户已被删除
7#
发表于 2015-3-10 04:06:32 | 只看该作者
主流网站开发语言之PHPHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。
谁可相欹 该用户已被删除
8#
发表于 2015-3-23 19:20:00 | 只看该作者
逐步缩小出错代码段的范围,最终确定错误代码的位置。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-18 09:28

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表