您的位置:首页 > 数据库

根据SQL语句生成同一类型的XML文件

2011-01-16 13:49 513 查看
/// <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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: