rss.Channel channel = new rss.Channel();
channel.Items = new Hashtable();
for (int i = 0; i < channelNode.ChildNodes.Count; i++)
{
switch (channelNode.ChildNodes[i].Name)
{
case "title":
channel.Title = channelNode.ChildNodes[i].InnerText;
break;
case "item":
rss.Item item = this.getRssItem(channelNode.ChildNodes[i]);
channel.Items.Add(channel.Items.Count, item);
break;
}
}
getRssItem 同樣遍歷 Item 子節點填入 Title/Description/Link。
private void ViewRss(rss.Channel channel)
{
treeRss.BeginUpdate();
treeRss.Nodes.Clear();
TreeNode channelNode = treeRss.Nodes.Add(channel.Title);
channelNode.Tag = "";
for (int i = 0; i < channel.Items.Count; i++)
{
rss.Item item = (rss.Item)channel.Items[i];
TreeNode itemNode = channelNode.Nodes.Add(item.Title);
itemNode.Tag = item.Link; // 儲存連結
}
treeRss.ExpandAll();
treeRss.EndUpdate();
}
private void treeRss_AfterSelect(object sender, TreeViewEventArgs e)
{
TreeNode itemNode = e.Node;
string URL = itemNode.Tag.ToString();
if (URL.Length != 0)
System.Diagnostics.Process.Start(URL);
}

圖 2:執行畫面
簡單 RSS 閱讀器完成,掌握 XML 解析與 TreeView 應用即可擴充更多功能。