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