页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="WriteXML.aspx.cs" Inherits="WriteXML" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
ConnecionString:
<asp:TextBox ID="TextBox1" runat="server" Height="70px" Width="531px"></asp:TextBox><br />
Table Name:
<asp:TextBox ID="TextBox2" runat="server" Height="48px" Width="525px"></asp:TextBox><br />
Destination File Name:
<asp:TextBox ID="TextBox3" runat="server" Height="56px" Width="519px"></asp:TextBox><br />
</div>
<asp:RadioButton ID="RadioButton1" Text="Columns as elements" runat="server" GroupName="ExportType" />
<br />
<asp:RadioButton ID="RadioButton2" Text="Columns as attributes" runat="server" GroupName="ExportType" />
<br />
<asp:Button ID="Button1" runat="server" Height="31px" Text="Export Data" Width="134px"
OnClick="Button1_Click" />
</form>
</body>
</html>
执行代码:
1: using System;
2: using System.Data.SqlClient;
3: using System.Xml;
4: 5: public partial class WriteXML : System.Web.UI.Page
6: {7: protected void Page_Load(object sender, EventArgs e)
8: { 9: 10: }11: protected void Button1_Click(object sender, EventArgs e)
12: {13: SqlConnection cnn = null;
14: SqlCommand cmd = null;
15: SqlDataReader reader = null;
16: XmlTextWriter writer = null;
17: try
18: {19: cnn = new SqlConnection(TextBox1.Text);
20: cmd = new SqlCommand();
21: cmd.Connection = cnn;22: cmd.CommandText = "select * from " + TextBox2.Text;
23: cnn.Open(); 24: reader = cmd.ExecuteReader();25: writer = new XmlTextWriter(TextBox3.Text, null);
26: writer.WriteStartDocument();27: writer.WriteComment("File exported on " + DateTime.Now);
28: writer.WriteStartElement("table");
29: while (reader.Read())
30: {31: if (RadioButton1.Checked)
32: {33: writer.WriteStartElement("row");
34: for (int i = 0; i < reader.FieldCount; i++)
35: { 36: writer.WriteStartElement(reader.GetName(i)); 37: writer.WriteString(reader.GetValue(i).ToString()); 38: writer.WriteEndElement(); 39: } 40: writer.WriteEndElement(); 41: }42: else
43: {44: writer.WriteStartElement("row");
45: for (int i = 0; i < reader.FieldCount; i++)
46: { 47: writer.WriteAttributeString(reader.GetName(i), 48: reader.GetValue(i).ToString()); 49: } 50: writer.WriteEndElement(); 51: } 52: } 53: writer.WriteEndElement(); 54: }55: catch (Exception ex)
56: { 57: Response.Write(ex.Message); 58: }59: finally
60: { 61: writer.Close(); 62: reader.Close(); 63: cnn.Close(); 64: } 65: } 66: }执行效果和结果:
columns as elements:
colunms as attributes:

浙公网安备 33010602011771号