首页 / 网页编程 / ASP.NET / asp.net中XML文件作为中间件进行数据交换功能的实现(c#,sql2000)
asp.net中XML文件作为中间件进行数据交换功能的实现(c#,sql2000)2011-02-08程序段中对语句作了说明。主要使用XmlWriter类进行XML文件生成。下面这是由关系数据库生成相应XML文件过程。由于XML只是中间件,所以忽略了Schema或者DTD。1 private void Page_Load(object sender, System.EventArgs e)
2 {
3 // 在此处放置用户代码以初始化页面
4 //基本信息定义
5 String strTableName="systypes";
6 String strConnection="server=suntears;user id=sa;password=041210;database=webapplication1_db";
7 String strSql="select * from "+strTableName;
8 SqlConnection objConn=new SqlConnection(strConnection);
9 SqlDataAdapter objAdapter=new SqlDataAdapter(strSql,objConn);
10 DataSet objDSet=new DataSet();
11 objAdapter.Fill(objDSet,"temp");
12 XmlTextWriter objXmlWriter;
13 String strtemp1=Request.PhysicalApplicationPath;
14 String strpath=strtemp1+"qiming.xml";
15 //初始化XmlWriter.用此类写XML文件
16 objXmlWriter=new XmlTextWriter(strpath,null);
17 //创建开头的XML声明
18 objXmlWriter.WriteStartDocument();
19 //创建根元素xml1
20 objXmlWriter.WriteStartElement("xml1");
21 //表名为元素名,字段名为属性,表中的记录为属性的值
22 for(int i=0;i<objDSet.Tables["temp"].Rows.Count;i++)
23 {
24 objXmlWriter.WriteStartElement("menu");
25 for(int j=0;j<objDSet.Tables["temp"].Columns.Count;j++)
26 {
27 //写入属性
28 objXmlWriter.WriteAttributeString(objDSet.Tables["temp"].Columns[j].ColumnName,objDSet.Tables["temp"].Rows[i][j].ToString());
29 }
30 objXmlWriter.WriteEndElement();
31 }
32 objXmlWriter.WriteEndElement();
33 objXmlWriter.WriteEndDocument();
34 //用close方法关闭文件,否则文件将被锁定
35 objXmlWriter.Close();
36 // 在页面上显示结果
37 string strXmlResult;
38 StreamReader objSR = File.OpenText(strpath);
39 strXmlResult = objSR.ReadToEnd();
40 objSR.Close();
41 Response.Write("<pre>" + Server.HtmlEncode(strXmlResult) + "<pre>");
42 }