/// <summary> /// 根据SQL语句生成同一类型的XML文件 /// </summary> /// <param name="sql">sql</param> /// <param name="fileName">文件名</param> /// <param name="fatherName">父节点</param> /// <param name="childName1">子节点1</param> /// <param name="childName2">子节点2</param> public void CreateXmlBySql(string sql, string fileName, string fatherName, string childName1, string childName2) { HttpServerUtility Server; DataTable dt = new DataTable(); Server = HttpContext.Current.Server; XmlDocument xml = new XmlDocument(); XmlElement xmlFather, xmlChild1, xmlChild2; xml.LoadXml(@"<xml name=""StockGrade"" version=""1.0"" encoding=""utf-8"" />"); XmlElement r = xml.DocumentElement;//创建一个XML对象 dt = Global.busLogicInner.GetPJBySql(sql);//根据sql语句获取数据 if (dt != null) { foreach (var col in from v in dt.AsEnumerable() select v) { xmlFather = xml.CreateElement(fatherName); xmlChild1 = xml.CreateElement(childName1); xmlChild1.InnerText = col[childName1].ToString(); xmlFather.AppendChild(xmlChild1); xmlChild2 = xml.CreateElement(childName2); xmlChild2.InnerText = col[childName2].ToString(); xmlFather.AppendChild(xmlChild2); r.AppendChild(xmlFather); } xmlFather = xml.CreateElement(fatherName); xmlChild1 = xml.CreateElement(childName1); xmlChild1.InnerText = "END"; xmlFather.AppendChild(xmlChild1); xmlChild2 = xml.CreateElement(childName2); xmlChild2.InnerText = "END"; xmlFather.AppendChild(xmlChild2); r.AppendChild(xmlFather); string filePath = Server.MapPath(fileName); if (File.Exists(filePath)) File.Delete(filePath); xml.Save(filePath); } }