/// <summary> /// 将指定文件中的 XML 架构和数据读入 System.Data.DataTable 中。 /// </summary> /// <param name="fileName">从中读取数据的文件的名称。</param> /// <returns>用于读取数据的 System.Data.XmlReadMode。</returns> public virtual void ReadXml(string fileName) { this.FileName = Path.GetFullPath(fileName); properties.Clear(); items.Clear(); others.Clear(); string basePath = Path.GetDirectoryName(this.FileName); XmlDocument xmldoc = new XmlDocument(); XmlNamespaceManager nsmgr = new XmlNamespaceManager(xmldoc.NameTable); nsmgr.AddNamespace("k", Consts.NamesapceURI); xmldoc.Load(fileName); //Project节点 XmlElement nodeProject = xmldoc.DocumentElement; foreach (XmlNode node in nodeProject.ChildNodes) { try { switch (node.Name) { case "PropertyGroup": properties.AddGroup((XmlElement)node, basePath); break; case "ItemGroup": items.AddGroup((XmlElement)node, basePath); break; default: others.Add(node.CloneNode(true)); break; } } catch (Exception ex) { // } } }