コード例 #1
0
        public RssEntity Get(string feed)
        {
            XmlTextReader reader = new XmlTextReader(feed);
            XmlDocument   doc    = new XmlDocument();

            doc.Load(reader);
            namespaceMgr = new XmlNamespaceManager(doc.NameTable);
            XmlNodeList channels = doc.SelectNodes("rss/channel");
            RssEntity   entity   = new RssEntity();

            foreach (XmlNode item in channels)
            {
                RssChannel channel = new RssChannel();
                channel.description = GetText(item, "description");
                channel.generator   = GetText(item, "generator");
                channel.language    = GetText(item, "language");
                string lastBuildDate = GetText(item, "lastBuildDate");
                if (!string.IsNullOrEmpty(lastBuildDate))
                {
                    channel.lastBuildDate = Convert.ToDateTime(lastBuildDate);
                }
                channel.link  = GetText(item, "link");
                channel.title = GetText(item, "title");
                channel.Items = new List <RssItem>();
                XmlNodeList items = item.SelectNodes("item");
                if (items == null)
                {
                    continue;
                }
                foreach (XmlNode rssItem in items)
                {
                    RssItem ritem = new RssItem();
                    foreach (XmlNode itemDetail in rssItem.ChildNodes)
                    {
                        Easy.Reflection.ClassAction.SetPropertyValue <RssItem>(ritem, itemDetail.LocalName, itemDetail.InnerText);
                    }
                    channel.Items.Add(ritem);
                }
                entity.Channels.Add(channel);
            }

            return(entity);
        }
コード例 #2
0
ファイル: RssService.cs プロジェクト: hardCTE/EasyFrameWork
        public RssEntity Get(string feed)
        {
            XmlTextReader reader = new XmlTextReader(feed);
            XmlDocument doc = new XmlDocument();
            doc.Load(reader);
            namespaceMgr = new XmlNamespaceManager(doc.NameTable);
            XmlNodeList channels = doc.SelectNodes("rss/channel");
            RssEntity entity = new RssEntity();

            foreach (XmlNode item in channels)
            {
                RssChannel channel = new RssChannel();
                channel.description = GetText(item, "description");
                channel.generator = GetText(item, "generator");
                channel.language = GetText(item, "language");
                string lastBuildDate = GetText(item, "lastBuildDate");
                if (!string.IsNullOrEmpty(lastBuildDate))
                {
                    channel.lastBuildDate = Convert.ToDateTime(lastBuildDate);
                }
                channel.link = GetText(item, "link");
                channel.title = GetText(item, "title");
                channel.Items = new List<RssItem>();
                XmlNodeList items = item.SelectNodes("item");
                if (items == null) continue;
                foreach (XmlNode rssItem in items)
                {
                    RssItem ritem = new RssItem();
                    foreach (XmlNode itemDetail in rssItem.ChildNodes)
                    {
                        Easy.Reflection.ClassAction.SetPropertyValue<RssItem>(ritem, itemDetail.LocalName, itemDetail.InnerText);
                    }
                    channel.Items.Add(ritem);
                }
                entity.Channels.Add(channel);
            }

            return entity;
        }