用Visual C#制作新闻阅读器
http://tech.ddvip.com 2007年04月09日 社区交流
本文详细介绍用Visual C#制作新闻阅读器
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)
{
XmlNode childlNode = null;
for (int i=0;i < Node.ChildNodes.Count;i++)
{
if ( Node.ChildNodes[i].Name == Name && Node.ChildNodes[i].ChildNodes.Count > 0 )
{
childlNode = Node.ChildNodes[i];
return childlNode;
}
}
return childlNode;
}
XmlNode rssNode = FoundChildNode(xmlDoc,"rss");
XmlNode channelNode = FoundChildNode(rssNode,"channel");
责编:豆豆技术应用
正在加载评论...