二.做个程序读新闻 对RSS有一定了解后,我们开始编写程序。先还是需要一个最简单的界面。新建一个Win Form 工程,在Form上放置一个Label,一个文本框txtURL用来输入RSS链接(就是各网站RSS链接中包含的地址),一个按钮bnRead用来执行读取新闻, 一个TreeView树形控件treeRSS显示读出的新闻项。
1。定义装载结构 根据上面分析的RSS结构,我们首先来建立一个rss类,用它来装载RSS链接中CHANNEL和ITEM的各条信息。代码如下:
public class rss
{public struct Channel
{public string Title;
public Hashtable Items;
}
public struct Item
{public string Title;
public string Description;
public string Link;
}
}
Channel结构将存储CHANNEL节点包含的所有子节点信息,其中Items成员字段是一个Hashtable集合,程序会将Item结构作为对象加入集合,用来存储Channel下的所有Item节点。这里我只读取了有限的几个节点,读者可以根据实际需要扩展整个结构定义。
2。从RSS链接中获取新闻信息 现在我们就可以开始编写读取函数,将抽取出的RSS信息放入上面设计好的结构中。
C#提供了专门的类来访问XML, 使我们能够轻松地读出RSS的内容。代码如下:
XmlTextReader Reader = new XmlTextReader(URL);
XmlValidatingReader Valid = new XmlValidatingReader(Reader);
Valid.ValidationType = ValidationType.None;
XmlDocument xmlDoc= new XmlDocument();
xmlDoc.Load(Reader);
使用XmlDocument类将txtURL中输入的RSS链接加载后,首先通过FoundChildNode函数,找到Channel节点。
private XmlNode FoundChildNode(XmlNode Node,string Name)
请发表评论