コード例 #1
0
        //private string baseUrl = "https://www.b2b-center.ru/";

        public B2B(Tag inpTag, IRequest myReq) : base(myReq)
        {
            if (inpTag.ChildTags.Count != 4)
            {
                Exception e = new Exception("Unknown format! Must be contain 4 child Tags");
                return;
            }

            foreach (Tag item in inpTag.LookForChildTag("a", false, new KeyValuePair <string, string>("class", "search-results-title visited")))
            {
                if (item.Attributes.ContainsKey("href"))
                {
                    LotNameUrl = item.Attributes["href"];
                    if (LotNameUrl.Contains("#btid="))
                    {
                        LotNameUrl = LotNameUrl.Substring(0, LotNameUrl.LastIndexOf("#btid="));
                    }
                    LotNameUrl = baseUrl + LotNameUrl;
                }

                foreach (Tag inItem in item.ChildTags)
                {
                    if (inItem.IsProto & !inItem.IsComment)
                    {
                        LotNameStr = inItem.Value;
                        break;
                    }
                }
            }

            /*
             * LotNameUrl = inpTag.ChildTags[0].ChildTags[0].Attributes["href"];
             * LotNameStr = inpTag.ChildTags[0].ChildTags[0].ChildTags[0].Value;
             */
            if (LotNameStr.Contains("№"))
            {
                TorgType = LotNameStr.Substring(0, LotNameStr.IndexOf("№") - 1);
            }
            LotNumberStr = LotNameStr.Substring(LotNameStr.IndexOf("№") + 1).TrimEnd();

            /*
             * try
             * {
             */
            List <Tag> searchList = inpTag.LookForChildTag("div", false, new KeyValuePair <string, string>("class", "search-results-title-desc"));

            foreach (Tag item in searchList)
            {
                string tmpTorgName    = "";
                string tmpDescription = "";
                foreach (Tag inItem in item.ChildTags)
                {
                    if (inItem.IsProto & !inItem.IsComment)
                    {
                        tmpTorgName += inItem.Value;
                    }
                    else if (inItem.Name == "span")
                    {
                        foreach (Tag itemSp in inItem.LookForChildTag(null))
                        {
                            if (itemSp.IsProto & !itemSp.IsComment)
                            {
                                tmpTorgName += itemSp.Value;
                            }
                        }
                    }
                    else if (inItem.Name == "div")
                    {
                        foreach (Tag itemSp in inItem.LookForChildTag(null))
                        {
                            if (itemSp.IsProto & !itemSp.IsComment)
                            {
                                tmpDescription += itemSp.Value + " ";
                            }
                        }
                    }
                }
                TorgName    = tmpTorgName;
                Description = tmpDescription;
            }

            OrganizerStr = inpTag.ChildTags[1].ChildTags[0].ChildTags[0].Value;
            OrganizerUrl = baseUrl + inpTag.ChildTags[1].ChildTags[0].Attributes["href"];

            DateAcceptStart  = inpTag.ChildTags[2].ChildTags[0].Value;
            DateAcceptFinish = inpTag.ChildTags[3].ChildTags[0].Value;
        }