Exemplo n.º 1
0
 /// <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;
 }
Exemplo n.º 2
0
        /// <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);
            }
        }