首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# 製作新聞閱讀器(三):XML 解析遍歷 Channel/Item 節點、TreeView 顯示標題與連結、Process.Start 開啟瀏覽器

     編輯:關於C語言

遍歷 Channel 子節點填入結構


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。

TreeView 顯示


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 應用即可擴充更多功能。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved