ASP.NET生成XML文件
数据库如下:
C#代码如下!
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.IO;
using System.Text;
using System.Xml;
public partial class WriteXML : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
try
{
createxml();
Response.Write("OK");
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
}
public void createxml()
{
//string connstr;
//connstr = ConfigurationManager.ConnectionStrings["PUBS"].ConnectionString;//连接
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["PUBS"]);
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
conn.Open();
SqlDataAdapter sda = new SqlDataAdapter("Select * from [Capital]", conn);
//cmd.SelectCommand = new SqlCommand();
//cmd.SelectCommand.CommandType = CommandType.StoredProcedure;
DataSet ds = new DataSet();
sda.Fill(ds, "Capital");
XmlTextWriter writer = new XmlTextWriter(Server.MapPath("left.xml"), System.Text.Encoding.UTF8);
writer.Formatting = Formatting.Indented;
writer.WriteStartDocument();
writer.WriteStartElement("Capitals");
for (int i = 0; i < ds.Tables["Capital"].Rows.Count; i++)
{
writer.WriteStartElement("Capital");
writer.WriteAttributeString("id", ds.Tables["Capital"].Rows[i]["Domainid"].ToString().Trim());//子集参数
writer.WriteAttributeString("names", ds.Tables["Capital"].Rows[i]["CapitalName"].ToString().Trim());
writer.WriteAttributeString("code", ds.Tables["Capital"].Rows[i]["CapitalCode"].ToString().Trim());
SqlDataAdapter cmd1 = new SqlDataAdapter("select * from City where Domainid=" + ds.Tables["Capital"].Rows[i]["Domainid"], conn);
DataSet ds1 = new DataSet();
cmd1.Fill(ds1, "City");
for (int j = 0; j < ds1.Tables["City"].Rows.Count; j++)
{
writer.WriteStartElement("City");
writer.WriteAttributeString("id", ds1.Tables["City"].Rows[j][0].ToString().Trim());
writer.WriteAttributeString("names", ds1.Tables["City"].Rows[j][1].ToString().Trim());
writer.WriteAttributeString("url", ds1.Tables["City"].Rows[j][2].ToString().Trim());
writer.WriteEndElement();
}
writer.WriteEndElement();
}
writer.WriteFullEndElement();//关闭根集
writer.Close();
}
}