C#操作XML初步(3) |
第一章:建立XML檔案 下面是通過一個DATASET來生成XML的例子 <% @ Import Namespace="System.IO" %> <% @ Import Namespace="System.Xml" %> <% @ Import Namespace="System.Data" %> <Script Language="C#" Runat="Server"> public void Page_Load(Object src,EventArgs e) { /* * 版 權 : copyright by SEM IT DEPARTMENT * 版 本 : version 0.0.1 * 文 件 : CreateXml_3.aspx * 用 途 : 使用一個資料集合建立XML檔案。 * 作 者 : 歐陽雲天 @2005-4-7 * 郵 箱 : [email protected] * 修 改 : */ string FromFile; //模闆檔案 string NewFile; FromFile = Server.MapPath("./")+"Template.Xml"; NewFile = Server.MapPath("./")+"New.Xml";; DataSet myDs = new DataSet(); FileStream fin ; fin = new FileStream(FromFile, FileMode.Open, FileAccess.Read, FileShare.ReadWrite); myDs.ReadXml(fin); fin.Close(); //這裡我們使用的是從XML當中擷取的DATASET,當然我們也可以從資料庫、數組等獲得DATASET然後生成XML myDs.WriteXml(NewFile, XmlWriteMode.WriteSchema); myDs.Dispose(); //用 XML DOM方式讀取XML,并将它與XML控件綁定 XmlDocument doc = new XmlDocument(); doc.Load(NewFile); xml1.Document = doc; } catch(Exception ex) { Response.Write(ex.Message); } finally { } } </script> <html> <head> <title>測試XML文本的建立</title> </head> <body> <form runat="server"> <b>建立文本檔案成功,寫入成功,檔案的内容為:</b> <p><asp:Xml id="xml1" runat="server"/></p> </form> </body> </html> |
則,上面例子當中的Template.Xml的内容如下: <?xml version="1.0" encoding="gb2312"?> <users> <user id="1"> <userName>outrace</userName> <userPass>mypass</userPass> </user> <user id="2"> <userName>trace</userName> <userPass>mypass2</userPass> </user> </users> |
新生成的New.Xml的内容如下: <?xml version="1.0" standalone="yes"?> <users> <xs:schema id="users" xmlns="" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xs:element name="users" msdata:IsDataSet="true" msdata:Locale="zh-CN"> <xs:complexType> <xs:choice maxOccurs="unbounded"> <xs:element name="user"> <xs:complexType> <xs:sequence> <xs:element name="userName" type="xs:string" minOccurs="0" msdata:Ordinal="0" /> <xs:element name="userPass" type="xs:string" minOccurs="0" msdata:Ordinal="1" /> </xs:sequence> <xs:attribute name="id" type="xs:string" /> </xs:complexType> </xs:element> </xs:choice> </xs:complexType> </xs:element> </xs:schema> <user id="1"> <userName>outrace</userName> <userPass>mypass</userPass> </user> <user id="2"> <userName>trace</userName> <userPass>mypass2</userPass> </user> </users> |