生成XML文件DATATABLE
#region 生成XML的格式文件
/// <summary>
/// 生成XML的格式文件
/// </summary>
/// <param name="XmlFileName">生成XML的格式文件的路径和文件名</param>
/// <param name="csspath">css的路径和文件名</param>
/// <param name="ItemName">类名,父节点</param>
/// <param name="table">DataTable</param>
/// <returns></returns>
public static bool CreateXml(string XmlFileName,string csspath,string ItemName, DataTable table)
{
StringBuilder strBr=new StringBuilder("type=\"text/css\"");
strBr.Append(" href=\"");
strBr.Append(csspath);
strBr.Append('"');
string mypath = strBr.ToString();
//Encoding.Unicode为生成XML文件的编码格式,到时候合输出<?xml version="1.0" encoding="utf8"?>
XmlTextWriter xmlwriter = new XmlTextWriter(XmlFileName, Encoding.UTF8);
try
{
xmlwriter.Formatting = Formatting.Indented;
// 这个比较重要,这个属性说明xml文件里面的内容是按级别缩进的。
//下面开始生成文件的内容
xmlwriter.WriteStartDocument();
xmlwriter.WriteProcessingInstruction("xml-stylesheet", mypath);
//开始写xml,在最后有一个与之匹配的w.WriteEndDocument();
xmlwriter.WriteStartElement("myxml");
//生成一个节点
xmlwriter.WriteAttributeString("xmlns:xsi", "http:www.w3.org/2001/XMLSchema-instance");
//myxml节点的属性
xmlwriter.WriteAttributeString("xmlns:xsd", "http:www.w3.org/2001/XMLSchema");
//myxml节点属性,最后效果:
//<myxml xmlns:xsi="http:www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http:www.w3.org/2001/XMLSchema">
xmlwriter.WriteStartElement(ItemName);
//
foreach (DataRow dr in table.Rows)
{
for (int i = 0; i < table.Columns.Count; i++)
{
//生成一个子节点
xmlwriter.WriteElementString(table.Columns[i].ColumnName, dr[i].ToString());
}
}
//
xmlwriter.WriteEndElement();
xmlwriter.WriteEndElement();
xmlwriter.WriteEndDocument();
return true;
}
catch
{
return false;
}
finally
{
xmlwriter.Close(); //完成xml文件的输出,关闭
}
}
#endregion
浙公网安备 33010602011771号