读取RSS源

    protected void GetFeed_Click(object sender, EventArgs e)
    {
        if (FeedUrl.Text == "")
        {
            RssFeed.Text = "信息不能为空!";
            return;
        }
        RssFeed.Text = Load(FeedUrl.Text,Convert.ToInt32(Num.Text));
    }

    public string Load(string RssUrl, int showCount)
    {
        string strRssList = "";
        string strMsg;

        try
        {
            XmlDocument doc = new XmlDocument();
            doc.Load(RssUrl);
            //获取所有匹配的元素
            XmlNodeList items = doc.GetElementsByTagName("item");
            if (showCount > 30)
            {
                showCount = 10;
            }
            if (showCount < 1)
            {
                showCount = items.Count;
            }

            string title = "";
            string link = "";
            int i;

            if (doc.HasChildNodes == true)
            {
                i = 1;
                //遍历所有元素
                foreach (XmlNode node in items)
                {
                    if (i <= showCount)
                    {
                        if (node.HasChildNodes == true)
                        {
                            XmlNodeList list = node.ChildNodes;
                            foreach (XmlNode xmlNode in list)
                            {
                                switch (xmlNode.Name)
                                {
                                    case "title":
                                        title = xmlNode.InnerText;
                                        break;
                                    case "link":
                                        link = xmlNode.InnerText;
                                        break;
                                }
                            }
                            i = i + 1;
                            strRssList += "<a href=" + link + " target=_blank>" + title + "</a><br/>";
                        }
                    }
                }
            }
            strMsg=strRssList;
        }
        catch
        {
            strMsg="错误!";
        }
        return strMsg;
    }

posted on 2011-01-11 09:08  剑心老三儿  阅读(221)  评论(0)    收藏  举报

导航