创建XML文件

过程说明:利用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();

		}

	}

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值