Exemple #1
0
        public static void LoadXml()
        {
            XmlHandle xmlhandle = new XmlHandle(bookrulexml);
            int num = xmlhandle.GetCount("BookSite");
            if (num > 0) _rulelist = new List<BookRule>();
            for (int i = 1; i <= num; i++)
            {
                BookRule rule = new BookRule();
                rule.name = xmlhandle.GetValue("BookSite[" + i + "]", "Name");
                rule.url = xmlhandle.GetValue("BookSite[" + i + "]", "Url");
                rule.charset = xmlhandle.GetValue("BookSite[" + i + "]", "charset");
                rule.title_rule = xmlhandle.GetValue("BookSite[" + i + "]/title");
                rule.auther_rule = xmlhandle.GetValue("BookSite[" + i + "]/auther");
                rule.cover_rule = xmlhandle.GetValue("BookSite[" + i + "]/cover");
                rule.introduction_rule = xmlhandle.GetValue("BookSite[" + i + "]/introduction");
                rule.catalog_rule = xmlhandle.GetValue("BookSite[" + i + "]/catalog");
                rule.content_rule = xmlhandle.GetValue("BookSite[" + i + "]/content");
                _rulelist.Add(rule);
            }

            num = xmlhandle.GetCount("SearchSite");
            if (num > 0) _searchrulelist = new List<SearchRule>();
            for (int i = 1; i <= num; i++)
            {
                SearchRule rule = new SearchRule();
                rule.name = xmlhandle.GetValue("SearchSite[" + i + "]", "Name");
                rule.searchurl = xmlhandle.GetValue("SearchSite[" + i + "]", "SearchUrl");
                rule.charset = xmlhandle.GetValue("SearchSite[" + i + "]", "charset");

                rule.list_rule = xmlhandle.GetValue("SearchSite[" + i + "]", "list");

                rule.conditions =new List<RuleConditions>();
                rule.title_rule = xmlhandle.GetValue("SearchSite[" + i + "]/title");
                XmlAttributeCollection attcoll = xmlhandle.GetAttributes("SearchSite[" + i + "]/title");
                foreach (XmlAttribute v in attcoll)
                {
                    RuleConditions cond = new RuleConditions();
                    cond.name = "title";
                    cond.conditionName = v.Name;
                    cond.conditionValue = v.Value;
                    rule.conditions.Add(cond);
                }
                rule.auther_rule = xmlhandle.GetValue("SearchSite[" + i + "]/auther");
                attcoll = xmlhandle.GetAttributes("SearchSite[" + i + "]/auther");
                foreach (XmlAttribute v in attcoll)
                {
                    RuleConditions cond = new RuleConditions();
                    cond.name = "auther";
                    cond.conditionName = v.Name;
                    cond.conditionValue = v.Value;
                    rule.conditions.Add(cond);
                }
                rule.cover_rule = xmlhandle.GetValue("SearchSite[" + i + "]/cover");
                attcoll = xmlhandle.GetAttributes("SearchSite[" + i + "]/cover");
                foreach (XmlAttribute v in attcoll)
                {
                    RuleConditions cond = new RuleConditions();
                    cond.name = "cover";
                    cond.conditionName = v.Name;
                    cond.conditionValue = v.Value;
                    rule.conditions.Add(cond);
                }

                rule.introduction_rule = xmlhandle.GetValue("SearchSite[" + i + "]/introduction");
                attcoll = xmlhandle.GetAttributes("SearchSite[" + i + "]/introduction");
                foreach (XmlAttribute v in attcoll)
                {
                    RuleConditions cond = new RuleConditions();
                    cond.name = "introduction";
                    cond.conditionName = v.Name;
                    cond.conditionValue = v.Value;
                    rule.conditions.Add(cond);
                }

                rule.bookurl_rule = xmlhandle.GetValue("SearchSite[" + i + "]/bookurl");
                attcoll = xmlhandle.GetAttributes("SearchSite[" + i + "]/bookurl");
                foreach (XmlAttribute v in attcoll)
                {
                    RuleConditions cond = new RuleConditions();
                    cond.name = "bookurl";
                    cond.conditionName = v.Name;
                    cond.conditionValue = v.Value;
                    rule.conditions.Add(cond);
                }

                _searchrulelist.Add(rule);
            }
        }
Exemple #2
0
        public static void SaveXml(SearchRule rule)
        {
            XmlHandle xmlhandle = new XmlHandle(bookrulexml);
            if (xmlhandle.GetCount("SearchSite[Name=" + rule.name + "]") > 0)//更新
            {
                xmlhandle.SetValue("SearchSite[Name=" + rule.name + "]", "SearchUrl", rule.searchurl);
                xmlhandle.SetValue("SearchSite[Name=" + rule.name + "]", "charset", rule.charset);
                xmlhandle.SetValue("SearchSite[Name=" + rule.name + "]", "list", rule.list_rule);

                xmlhandle.SetValue("SearchSite[Name=" + rule.name + "]/title", rule.title_rule);
                xmlhandle.SetValue("SearchSite[Name=" + rule.name + "]/auther", rule.auther_rule);
                xmlhandle.SetValue("SearchSite[Name=" + rule.name + "]/cover", rule.cover_rule);
                xmlhandle.SetValue("SearchSite[Name=" + rule.name + "]/introduction", rule.introduction_rule);
                xmlhandle.SetValue("SearchSite[Name=" + rule.name + "]/bookurl", rule.bookurl_rule);
            }
            else//新增
            {
                XmlElement node = xmlhandle.AddNode("SearchSite");
                node.SetAttribute("Name", rule.name);
                node.SetAttribute("SearchUrl", rule.searchurl);
                node.SetAttribute("charset", rule.charset);
                node.SetAttribute("list", rule.list_rule);

                XmlElement node1 = xmlhandle.AddNode(node, "title");
                node1.InnerText = rule.title_rule;

                XmlElement node2 = xmlhandle.AddNode(node, "auther");
                node2.InnerText = rule.auther_rule;

                XmlElement node3 = xmlhandle.AddNode(node, "cover");
                node3.InnerText = rule.cover_rule;

                XmlElement node4 = xmlhandle.AddNode(node, "introduction");
                node4.InnerText = rule.introduction_rule;

                XmlElement node5 = xmlhandle.AddNode(node, "bookurl");
                node5.InnerText = rule.bookurl_rule;
            }
            xmlhandle.SaveConfig();
        }