/// <summary> /// 将<see cref="IXmlSavable"/>实例生成XML文档保存到指定文件中。如果存在指定文件,方法将覆盖它。 /// </summary> /// <param name="savable">实例。</param> /// <param name="filename">文件名。</param> public static void Save(this IXmlSavable savable, string filename) { GlobalDoc = new XmlDocument(); GlobalDoc.AppendChild(savable.ToXmlElement()); GlobalDoc.Save(filename); GlobalDoc = null; }
/// <summary> /// 从指定的URL加载XML文件,并赋值到<see cref="IXmlSavable"/>实例中。 /// </summary> /// <param name="savable">实例。</param> /// <param name="filename">文件URL。</param> public static void Load(this IXmlSavable savable, string filename) { XmlDocument doc = new XmlDocument(); doc.Load(filename); XmlElement target; if (doc.DocumentElement.Name == savable.Name) { target = doc.DocumentElement; } else { target = doc.DocumentElement.GetElement(savable.Name) as XmlElement; } if (target != null) { savable.FromXmlElement(target); } }