过程说明:利用Select * from 数据表 For XML Auto即以XML格式返回数据。创建SQL语句之后,打开数据库连接,并调用ExecuteXmlReader()从数据库中读取数据,且返回一个XmlReader对象myxmlReader。
创建XML文件的具体步骤:
(1)创建XmlDocument对象doc;
(2)添加XML文件的起始标志<?xml version='1.0'?>;
(3)添加XML文件的根节点<Users>;
(4)从XmlReader对象myxmlReader读取每一个XML片段;
(5)添加XML文件的结尾标志</Users>;
(6)保存创建XML文件到服务器上。
CreateXml.aspx文件代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="CreateXml.aspx.cs" Inherits="CreateXml" %>
<!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>创建XML文件实例</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
</form>
</body>
</html>
CreateXml.aspx.cs文件代码如下:
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.Xml; public partial class CreateXml : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { if(!Page.IsPostBack) { ///创建XML文件 CreateXmlFile(); } } private void CreateXmlFile() { ///创建链接 SqlConnection myConnection = new SqlConnection( ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString); ///定义SQL语句 string cmdText = "SELECT * FROM Users FOR XML AUTO"; ///创建Command SqlCommand myCommand = new SqlCommand(cmdText,myConnection); try { ///打开连接 myConnection.Open(); ///读取XML数据 XmlReader myxmlReader = myCommand.ExecuteXmlReader(); XmlDocument doc = new XmlDocument(); string xmlstr = ""; ///添加XML文件的标志 xmlstr += "<?xml version='1.0'?>"; xmlstr += "<Users>"; ///移动到XML元素处 myxmlReader.MoveToElement(); ///读取从数据库中获取的数据 while(myxmlReader.IsStartElement()) { xmlstr += myxmlReader.ReadOuterXml(); } ///关闭XMLReader myxmlReader.Close(); ///添加XML文件的标志 xmlstr += "</Users>"; ///保存文件 doc.LoadXml(xmlstr); doc.Save(Server.MapPath("xmlfile.xml")); } catch(Exception ex) { ///显示链接错误的消息 Response.Write(ex.Message + "<br>"); } finally { ///关闭数据库的链接 myConnection.Close(); } } }