private static void CreateIni(IniItem[] items = null, string p = "") { IniItemCollection cls = new IniItemCollection(); if (items == null) { IniItem itm = new IniItem(); itm.Key = "CrawlerDefault"; itm.Value = "http://media.kisline.com/fininfo/mainFininfo.nice?paper_stock={0}&nav=4&header=N"; items = new IniItem[] { itm }; p = Properties.Settings.Default.ini; } else { if (items.Length == 0) { throw new ArgumentException("Items length zero", "Length"); } if (p == string.Empty) { throw new ArgumentException("File path null", "Path"); } } cls.Items = items; StreamWriter objStreamWriter = new StreamWriter(p); XmlSerializer x = new XmlSerializer(cls.GetType()); x.Serialize(objStreamWriter, cls); objStreamWriter.Close(); }
public void SaveConfig(string ipath) { if (File.Exists(ipath)) { XmlDocument doc = new XmlDocument(); XPathNavigator nav = default(XPathNavigator); doc.Load(ipath); nav = doc.CreateNavigator(); nav.MoveToChild("IniItemCollection", string.Empty); nav.MoveToChild("Items", string.Empty); XmlNode node = doc.SelectSingleNode("//IniItem[Key = '" + _key + "']"); if (node != null) { node.SelectSingleNode("Value").InnerText = _value; } else { using (XmlWriter writer = nav.AppendChild()) { XmlSerializer serializer = new XmlSerializer(this.GetType()); writer.WriteComment(""); serializer.Serialize(writer, this); } } doc.Save(ipath); } else { StreamWriter objStreamWriter = new StreamWriter(ipath); IniItemCollection cls = new IniItemCollection(); XmlSerializer x = new XmlSerializer(cls.GetType()); cls.Items = new IniItem[] { this }; x.Serialize(objStreamWriter, cls); objStreamWriter.Close(); } }