Beispiel #1
0
        private void TestLink(XmlDocument ixml)
        {
            string           str        = (ixml.DocumentElement.SelectSingleNode("//url") == null) ? "" : ixml.DocumentElement.SelectSingleNode("//url").InnerText.Trim();
            string           wordsBegin = (ixml.DocumentElement.SelectSingleNode("//linkBegin") == null) ? "" : ixml.DocumentElement.SelectSingleNode("//linkBegin").InnerText;
            string           wordsEnd   = (ixml.DocumentElement.SelectSingleNode("//linkEnd") == null) ? "" : ixml.DocumentElement.SelectSingleNode("//linkEnd").InnerText;
            string           code       = (ixml.DocumentElement.SelectSingleNode("//testContent") == null) ? "" : ixml.DocumentElement.SelectSingleNode("//testContent").InnerText;
            CollectionCommon common     = new CollectionCommon();
            ArrayList        list       = common.GetArray(code, wordsBegin, wordsEnd);
            StringBuilder    builder    = new StringBuilder();

            for (int i = 0; i < list.Count; i++)
            {
                builder.Append(common.ConvertToAbsluteUrl(list[i].ToString(), str.ToString()) + "\r\n");
            }
            string str5 = builder.ToString();

            if (string.IsNullOrEmpty(str5))
            {
                str5 = "没有截取到链接列表,请加载源代码重新设置下。";
            }
            XmlTextWriter writer = new XmlTextWriter(HttpContext.Current.Response.OutputStream, Encoding.UTF8);

            writer.Formatting  = Formatting.Indented;
            writer.Indentation = 4;
            writer.WriteStartDocument();
            writer.WriteStartElement("root", "");
            writer.WriteElementString("testContent", str5);
            writer.WriteEndElement();
            writer.WriteEndDocument();
            writer.Close();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            int id = BasePage.RequestInt32("ItemId");

            if (id <= 0)
            {
                AdminPage.WriteErrMsg("<li>ItemID不存在!");
            }
            CollectionItemInfo infoById = CollectionItem.GetInfoById(id);

            if (infoById.IsNull)
            {
                AdminPage.WriteErrMsg("<li>当前采集项目不存在!");
            }
            this.LblItemName.Text = infoById.ItemName;
            this.m_itemId         = infoById.ItemId;
            this.m_ModelId        = infoById.ModelId;
            this.m_NodeId         = infoById.NodeId;
            string str = BasePage.RequestString("Action", "Add");

            if (!base.IsPostBack)
            {
                this.RptModelList.DataSource = Field.GetFieldList(infoById.ModelId, false);
                this.RptModelList.DataBind();
                if (str == "Modify")
                {
                    this.BtnCancel1.Visible = true;
                }
                this.SmpNavigator.CurrentNode = string.Concat(new object[] { "<a title=\"采集项目设置\" href=\"ConfigStep1.aspx?Action=Modify&ItemId=", this.m_itemId, "&ModelId=", this.m_ModelId.ToString(), "&NodeId=", this.m_NodeId.ToString(), "\">采集项目设置</a> >> <a title=\"列表页采集设置\" href=\"ConfigStep2.aspx?Action=Modify&amp;ItemID=", id.ToString(), "\">列表页采集设置</a> >> <span style='color:red;'>内容页采集设置</span>" });
            }
            this.HdnAction.Value = str;
            CollectionCommon common = new CollectionCommon();
            Uri    url      = new Uri(infoById.Url);
            string httpPage = common.GetHttpPage(url, infoById.CodeType);
            CollectionListRuleInfo info2 = CollectionListRules.GetInfoById(infoById.ItemId);

            if (info2.IsNull)
            {
                AdminPage.WriteErrMsg("<li>隶属于" + infoById.ItemName + "采集项目的列表规则不存在!");
            }
            string    code = common.GetInterceptionString(httpPage, info2.ListBeginCode, info2.ListEndCode);
            ArrayList list = common.GetArray(code, info2.LinkBeginCode, info2.LinkEndCode);

            if (list.Count < 1)
            {
                AdminPage.WriteErrMsg("<li>隶属于" + infoById.ItemName + "采集项目的链接规则设置错误无法捕捉到链接组!");
            }
            Uri uri2 = new Uri(common.ConvertToAbsluteUrl(list[0].ToString(), infoById.Url));

            this.Session["ShowCode"] = common.GetHttpPage(uri2, infoById.CodeType);
        }
        protected void BtnTestLink_Click(object sender, EventArgs e)
        {
            CollectionCommon common = new CollectionCommon();
            Uri           url       = new Uri(this.TxtListAddress.Text);
            string        coding    = this.CodingType(this.RadlCodeType.SelectedValue);
            string        httpPage  = common.GetHttpPage(url, coding);
            string        code      = common.GetInterceptionString(httpPage, this.TxtListBegin.Text, this.TxtListEnd.Text);
            ArrayList     list      = common.GetArray(code, this.TxtLinkBegin.Text, this.TxtLinkEnd.Text);
            StringBuilder builder   = new StringBuilder();

            for (int i = 0; i < list.Count; i++)
            {
                builder.Append(common.ConvertToAbsluteUrl(list[i].ToString(), url.ToString()) + "\r\n");
            }
            this.TxtShowCode.Text = builder.ToString();
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            this.m_ItemId    = BasePage.RequestInt32("ItemId");
            this.m_FieldName = BasePage.RequestString("FieldName");
            this.m_FieldType = BasePage.RequestString("FieldType");
            string str = BasePage.RequestString("FieldAlias");

            if (this.m_ItemId <= 0)
            {
                AdminPage.WriteErrMsg("<li>ItemID不存在!");
            }
            if (string.IsNullOrEmpty(this.m_FieldName))
            {
                AdminPage.WriteErrMsg("<li>字段名称不存在!");
            }
            if (string.IsNullOrEmpty(this.m_FieldType))
            {
                AdminPage.WriteErrMsg("<li>字段类型不能为空!");
            }
            this.LblFieldName.Text = str + "[" + this.m_FieldType + "]";
            FieldType none = FieldType.None;

            if (Enum.IsDefined(typeof(FieldType), this.m_FieldType))
            {
                none = (FieldType)Enum.Parse(typeof(FieldType), this.m_FieldType);
            }
            else
            {
                AdminPage.WriteErrMsg("<li>不是系统字段类型!");
            }
            CollectionItemInfo infoById = CollectionItem.GetInfoById(this.m_ItemId);

            if (infoById.IsNull)
            {
                AdminPage.WriteErrMsg("<li>当前采集项目不存在!");
            }
            CollectionListRuleInfo info2 = CollectionListRules.GetInfoById(infoById.ItemId);

            if (info2.IsNull)
            {
                AdminPage.WriteErrMsg("<li>隶属于" + infoById.ItemName + "采集项目的列表规则不存在!");
            }
            CollectionCommon common = new CollectionCommon();
            Uri    url      = new Uri(infoById.Url);
            string httpPage = common.GetHttpPage(url, infoById.CodeType);
            string code     = common.GetInterceptionString(httpPage, info2.ListBeginCode, info2.ListEndCode);

            try
            {
                ArrayList list = common.GetArray(code, info2.LinkBeginCode, info2.LinkEndCode);
                if ((this.Session["ShowCode"] != null) && !string.IsNullOrEmpty(this.Session["ShowCode"].ToString()))
                {
                    this.TxtShowCode.Text = this.Session["ShowCode"].ToString();
                }
                else
                {
                    Uri uri2 = new Uri(common.ConvertToAbsluteUrl(list[0].ToString(), infoById.Url));
                    this.TxtShowCode.Text    = common.GetHttpPage(uri2, infoById.CodeType);
                    this.Session["ShowCode"] = this.TxtShowCode.Text;
                }
                this.HdnTestContent.Value = this.TxtShowCode.Text;
                StringBuilder builder = new StringBuilder();
                builder.Append("<select name='ArrContentUrl' onchange=\"testContentLink(this.options[this.selectedIndex].value)\">");
                string str4 = "";
                for (int i = 0; i < list.Count; i++)
                {
                    str4 = common.ConvertToAbsluteUrl(list[i].ToString(), url.ToString());
                    builder.Append(" <option value='" + str4 + "'>" + str4 + "</option>");
                }
                this.m_Url = common.ConvertToAbsluteUrl(list[0].ToString(), url.ToString());
                builder.Append("</select>&nbsp;&nbsp;<a href='" + this.m_Url + "' id='contentLink' target='_blank' >查看原始网页</a>");
                this.LblArrContentUrl.Text = builder.ToString();
                this.m_CodeType            = infoById.CodeType;
            }
            catch (ArgumentOutOfRangeException exception)
            {
                AdminPage.WriteErrMsg("<li>" + exception.Message + "</li>");
            }
            this.ListFilterRuleID.Items.Add(new ListItem("不设置过滤", "0"));
            this.ListFilterRuleID.AppendDataBoundItems = true;
            this.ListFilterRuleID.DataSource           = CollectionFilterRules.GetList(0, 0);
            this.ListFilterRuleID.DataBind();
            if (!base.IsPostBack)
            {
                CollectionFieldRuleInfo info3 = CollectionFieldRules.GetInfoById(infoById.ItemId, this.m_FieldName);
                if (!info3.IsNull)
                {
                    this.TxtFieldBegin.Text = info3.BeginCode;
                    this.TxtFieldEnd.Text   = info3.EndCode;
                    this.TxtKeyWord.Text    = info3.SpecialSetting;
                    this.SavePhoto.Checked  = DataConverter.CBoolean(info3.SpecialSetting);
                    foreach (ListItem item in this.ListFilterRuleID.Items)
                    {
                        if (StringHelper.FoundCharInArr(info3.FilterRuleId, item.Value))
                        {
                            item.Selected = true;
                        }
                    }
                    foreach (ListItem item2 in this.ListFilterSelect.Items)
                    {
                        if (StringHelper.FoundCharInArr(info3.PrivateFilter, item2.Value))
                        {
                            item2.Selected = true;
                        }
                    }
                }
                FieldType type2 = none;
                if (type2 == FieldType.KeywordType)
                {
                    this.LblKeyWord.Visible  = true;
                    this.TxtKeyWord.Visible  = true;
                    this.ValeKeyWord.Visible = true;
                }
                else if (type2 == FieldType.ContentType)
                {
                    this.TabTitle1.Visible = true;
                    this.SavePhoto.Visible = true;
                    this.RadlPaingType.Attributes.Add("onclick", "javascript:ListPaing(0);");
                    this.RadlPaingType1.Attributes.Add("onclick", "javascript:ListPaing(1);");
                    this.RadlPaingType2.Attributes.Add("onclick", "javascript:ListPaing(2);");
                    this.RadlPaingType3.Attributes.Add("onclick", "javascript:ListPaing(3);");
                    this.RadlPaingType4.Attributes.Add("onclick", "javascript:ListPaing(4);");
                    if (info3.UsePaging)
                    {
                        CollectionPagingRuleInfo info4 = CollectionPagingRules.GetInfoById(infoById.ItemId, 1);
                        this.TxtPaingBegin.Text = info4.PagingBeginCode;
                        this.TxtPaingEnd.Text   = info4.PagingEndCode;
                        switch (info4.PagingType)
                        {
                        case 0:
                            this.RadlPaingType.Checked = true;
                            break;

                        case 1:
                            this.RadlPaingType1.Checked = true;
                            break;

                        case 2:
                            this.RadlPaingType2.Checked = true;
                            break;

                        case 3:
                            this.RadlPaingType3.Checked = true;
                            break;

                        case 4:
                            this.RadlPaingType4.Checked = true;
                            break;

                        default:
                            this.RadlPaingType.Checked = true;
                            break;
                        }
                        this.TxtPaingAddress.Text = info4.DesignatedUrl;
                        this.TxtScopeBegin.Text   = info4.ScopeBegin.ToString();
                        this.TxtScopeEnd.Text     = info4.ScopeEnd.ToString();
                        this.TxtListPaing.Text    = info4.PagingUrlList;
                        this.TxtPaingBegin2.Text  = info4.PagingBeginCode;
                        this.TxtPaingEnd2.Text    = info4.PagingEndCode;
                        this.TxtLinkBegin2.Text   = info4.LinkBeginCode;
                        this.TxtLinkEnd2.Text     = info4.LinkEndCode;
                        this.Page.ClientScript.RegisterStartupScript(base.GetType(), "Init", "<script type='text/javascript'>ListPaing(" + DataConverter.CLng(info4.PagingType).ToString() + ");</script>");
                    }
                }
                this.ShowExclosionList(info3.ExclosionId, none);
            }
        }