示例#1
0
        public static async void GetRSS(string linkRss, int newspapermenuId, int manv)
        {
            try
            {
                await Task.Run(() =>
                {
                    XmlDocument newsUrl = new XmlDocument();
                    newsUrl.Load(linkRss);
                    XDocument doc = XDocument.Parse(newsUrl.InnerXml);

                    var docs = doc.Root.Element("channel").ToString();
                    newsUrl.LoadXml(docs);
                    XmlNodeList idNodes   = newsUrl.SelectNodes("channel/item");
                    int countnews         = idNodes.Count > 40 ? 40 : idNodes.Count;
                    ClsData.countRequest += countnews;
                    for (int i = countnews - 1; i >= 0; i--)
                    {
                        string title_convert = MyTag.CvtChar(idNodes[i]["title"].InnerText);
                        string link_convert  = MyTag.RemoveIllegalCharacters(idNodes[i]["link"].InnerText);
                        string Description   = MyTag.RemoveHtml(MyTag.CvtChar(idNodes[i]["description"].InnerText));
                        string pubdate       = idNodes[i]["pubDate"].InnerText;
                        string img           = "";

                        if (link_convert.Contains("news.zing.vn") || link_convert.Contains("khoahoc.tv"))
                        {
                            img = idNodes[i]["enclosure"].Attributes["url"].InnerText;
                        }
                        else if (link_convert.Contains("bongdaplus.vn") || link_convert.Contains("xaluan.com"))
                        {
                            img = idNodes[i]["media:content"].Attributes["url"].InnerText;
                        }
                        else
                        {
                            img = MyTag.GetImg(idNodes[i]["description"].InnerText);
                        }
                        if (ClsData.CheckNewsSync(link_convert, newspapermenuId) == true)
                        {
                            string imgSave = link_convert.Contains("laodong.vn") ? (GetImageSave(link_convert) == "" ? img : "http://media.laodong.vn" + GetImageSave(link_convert)) : (GetImageSave(link_convert) == "" ? img : GetImageSave(link_convert));
                            string summary = MyTag.CvtChar(GetContent(link_convert));
                            if (summary.Length > 10)
                            {
                                string rssID = ClsData.RssIDSync();
                                // Conn.UpdateRowData("insert into rssNews(rssID,NewspaperMenuId,Title,IconRss,IconSave,Link,[Description],Summary,rssDate,DateInput,Effect,MaNV) values('" + rssID + "'," + newspapermenuId + ",N'" + MyTag.CvtChar(title_convert) + "','" + img + "','" + imgSave + "','" + link_convert + "',N'" + MyTag.CvtChar(Description) + "',N'" + MyTag.CvtChar(summary) + "','" + pubdate + "',getdate(),1," + manv + ")");
                                if (ClsData.InsertNewsSync(rssID, newspapermenuId, title_convert, img, img, link_convert, Description, summary, pubdate))
                                {
                                    ClsData.countRequestSuccess++;
                                }
                                else
                                {
                                    ClsData.countRequestDup++;
                                }
                            }
                            else
                            {
                                ClsData.countRequestFail++;
                            }
                        }
                        else
                        {
                            ClsData.countRequestDup++;
                        }
                    }
                });
            }
            catch { }
        }
示例#2
0
 public static bool InsertNewsSync(string rssID, int NewspaperMenuId, string Title, string IconRss, string IconSave, string Link, string Description, string Summary, string rssDate)
 {
     string[] array = { NewspaperMenuId.ToString(), Link };
     if (!CheckforDuplicates(array))
     {
         listRequest.Add(new string[] { "(select dbo.[fn_CREATE_ID_AUTO]())", NewspaperMenuId.ToString(), "N'" + MyTag.CvtChar(Title) + "'", "'" + IconRss + "'", "'" + IconSave + "'", "'" + Link + "'", "N'" + MyTag.CvtChar(Description) + "'", "N'" + MyTag.CvtChar(Summary) + "'", "N'" + rssDate + "'", "getdate()", "1" });
         return(true);
     }
     return(false);
 }