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); } }
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(); }