• 比较好用的pdf阅读器 > 新闻阅读器:用Visual 
  • 新闻阅读器:用Visual 

    免费下载 下载该文档 文档格式:PDF   更新时间:2010-05-01   下载次数:0   点击次数:1
    文档基本属性
    文档语言:
    文档格式:pdf
    文档作者:yu
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    新闻阅读器:用Visual C#制作新闻阅 读器
    疯狂代码 http://CrazyCoder.cn/ :http:/CrazyCoder.cn/DotNet/Article8940.html ,弄清结构再动手 要想轻松抽取RSS信息自然先要了解它结构所谓"知己知彼百战不殆"嘛 1,RSS结构 我们先打开百度新闻个RSS链接如果你再多打开几个别网站WebSiteRSS链接会发现他们都有大致相同结构 而我们在揭秘RSS(上)中为大家讲解其实就是编成实现这样个XML文件 为了能够方便地对这样XML文档进行处理在本文里我们使用C#作为开发语言 分析整个RSS链接后我们知道RSS大致结构入图1
    2,抽取原理 知道了结构我们还要知道结构中各部分含义在图1中RSS节点表示当前是个RSS文件它由个CHANNEL节点 及其子节点组成其中些子节点提供有关频道本身信息比如title表示频道名称("百度互联网新闻") CHANNEL节点又包含多个ITEM子节点而ITEM节点就是需要处理部分它对应着每条实际新闻项信息, 每个 ITEM节点又通过其子节点提供有关这条新闻详细信息比如title表示新闻标题("微软IM称王")link对应新闻实 际链接 RSS具体规范标准可查看http://blogs.law.harvard.edu/tech/rss 知道了这些后要编程就不困难啦我们只需提取并显示出CHANNEL和ITEM下各条信息就可以了现在来看看 具体实现思路方法吧
    2.做个读新闻 对RSS有定了解后我们开始编写先还是需要个最简单界面新建个Win Form 工程在Form上放置个Label个 文本框txtURL用来输入RSS链接(就是各网站WebSiteRSS链接中包含地址)个按钮bnRead用来执行读取新闻, 个 TreeView树形Control控件treeRSS显示读出新闻项 1,定义装载结构 根据上面分析RSS结构我们首先来建立个rss类用它来装载RSS链接中CHANNEL和ITEM各条信息代码如下: public rss { public struct Channel { public Title; public Hashtable Items; } public struct Item { public Title; public Description; public Link; } }
    Channel结构将存储CHANNEL节点包含所有子节点信息其中Items成员字段是个Hashtable集合会将 Item结构作为对象加入集合用来存储Channel下所有Item节点这里我只读取了有限几个节点读者可以根据实际 需要扩展整个结构定义 2,从RSS链接中获取新闻信息 现在我们就可以开始编写读取将抽取出RSS信息放入上面设计好结构中 C#提供了专门类来访问XML, 使我们能够轻松地读出RSS内容代码如下:
    XmlTextReader Reader = XmlTextReader(URL); XmlValidatingReader Valid = XmlValidatingReader(Reader); Valid.ValidationType = ValidationType.None; XmlDocument xmlDoc= XmlDocument; xmlDoc.Load(Reader);
    使用XmlDocument类将txtURL中输入RSS链接加载后首先通过FoundChildNode找到Channel节点 private XmlNode FoundChildNode(XmlNode Node, Name) { XmlNode childlNode = null; for ( i=0;i 0 ) { childlNode = Node.ChildNodes[i]; childlNode; } } childlNode; } XmlNode rssNode = FoundChildNode(xmlDoc,"rss"); XmlNode channelNode = FoundChildNode(rssNode,"channel");
    然后我们就可以遍历它子节点根据子节点Name属性读取我们需要信息
    rss.Channel channel= rss.Channel; channel.Items= Hashtable; { switch ( channelNode.ChildNodes[i].Name ) { "title": { channel.Title = channelNode.ChildNodes[i].InnerText; ; } "item": { rss.Item item=this.getRssItem(channelNode.ChildNodes[i]); channel.Items.Add(channel.Items.Count,item ); ; } } }

    下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 PDF格式下载
  • 您可能感兴趣的
  • pdf阅读器下载  pdf阅读器官方下载  pdf阅读器下载官网  pdf阅读器下载中文版  福昕pdf阅读器  pdf阅读器下载最新版  pdf阅读器哪个好  福昕pdf阅读器下载  pdf阅读器下载win7