예제 #1
0
        public void ReadItemsFromCanal(string url)
        {
            var xmlDoc = new XmlDocument();

            xmlDoc.Load(url);
            var itemNodes = xmlDoc.SelectNodes("//rss/channel/item");

            if (itemNodes.Count < 1)
            {
                return;
            }

            var Parent = GetParent(url);

            foreach (XmlNode item in itemNodes)
            {
                if (mg.CheckThisGuidInMongo <itemRSS>(itemCollection, item.SelectSingleNode("guid").InnerText) == true)
                {
                    return;
                }
                var rssItem = new itemRSS();
                rssItem.Title  = item.SelectSingleNode("title").InnerText;
                rssItem.Href   = item.SelectSingleNode("link").InnerText;
                rssItem.Parent = Parent;
                if (item.SelectSingleNode("comments") != null)
                {
                    rssItem.Comments = item.SelectSingleNode("comments").InnerText;
                }
                rssItem.Guid = item.SelectSingleNode("guid").InnerText;
                var categories = item.SelectNodes("category");
                if (categories.Count > 0)
                {
                    foreach (XmlNode category in categories)
                    {
                        rssItem.Categories.Add(category.InnerText);
                    }
                }

                rssItem.Description = item.SelectSingleNode("description").InnerText;
                rssItem.PubDate     = GetDateFromElement(item.SelectSingleNode("pubDate").InnerText).ToString();
                Items.Add(rssItem);
            }

            SaveToDB();
            Items.Clear();
        }
예제 #2
0
        private string convertToJSON(itemRSS rssItem)
        {
            var sJSONResponse = JsonConvert.SerializeObject(rssItem);

            return(sJSONResponse);
        }