将某一目录下的所有相同格式的 XML文件绑定到不同的DataGrid

将某一目录下的所有相同格式的 XML文件绑定到不同的DataGrid的方法。

  <%@ Page Language="vb"%> <%@ Import NameSpace = "System" %> <%@ Import NameSpace = "System.Xml" %> <%@ Import NameSpace = "System.IO" %> <%@ Import NameSpace = "System.Collections" %> <%@ Import NameSpace = "System.Web" %> <%@ Import NameSpace = "System.Web.UI" %> <%@ Import NameSpace = "System.Web.UI.WebControls" %> <%@ Import NameSpace = "System.Data" %> <script runat="Server"> Sub Page_Load( sender as object, e as System.EventArgs) Dim dir As DirectoryInfo = New DirectoryInfo("D:/Web") Dim files As FileInfo() = dir.GetFiles() Dim count As Integer = files.Length Dim i As Integer For i = 0 To count - 1 If files(i).Name.SubString(files(i).Name.LastIndexOf(".")) = ".xml" Then Dim ds As New DataSet() 'ds.ReadXml("d:/Web/c.xml") ds.ReadXml(files(i).FullName) Dim dt as DataGrid = New DataGrid() dt.ID = "DataGrid" + i.ToString() dt.AutoGenerateColumns=false Dim MyName As BoundColumn = New BoundColumn() Dim MyProductID As BoundColumn = New BoundColumn() Dim Price As BoundColumn = New BoundColumn() Dim Quantity As BoundColumn = New BoundColumn() MyName.HeaderText="名字" MyName.DataField="Name" MyProductID.HeaderText="序号" MyProductID.DataField="ProductID" Price.HeaderText="价格" Price.DataField="Price" Quantity.HeaderText="数量" Quantity.DataField="Quantity" dt.Columns.AddAt(0, MyName) dt.Columns.AddAt(1, MyProductID) dt.Columns.AddAt(2, Price) dt.Columns.AddAt(3, Quantity) dt.DataSource = ds.Tables("Product") dt.DataBind() Me.Controls.Add(dt) End If Next End Sub </script> <form runat="server"> </form> 

C#写法

  <%@ Page Language="C#"%> <%@ Import NameSpace = "System" %> <%@ Import NameSpace = "System.Xml" %> <%@ Import NameSpace = "System.IO" %> <%@ Import NameSpace = "System.Collections" %> <%@ Import NameSpace = "System.Web" %> <%@ Import NameSpace = "System.Web.UI" %> <%@ Import NameSpace = "System.Web.UI.WebControls" %> <%@ Import NameSpace = "System.Data" %> <script runat="Server"> void Page_Load(object sender, System.EventArgs e) { DirectoryInfo dir = new DirectoryInfo("D://Web"); FileInfo[] files = dir.GetFiles(); int count = files.Length; for(int i = 0;i<count;i++) { if(files[i].Name.Substring(files[i].Name.LastIndexOf(".")) == ".xml") { DataSet ds = new DataSet(); //'ds.ReadXml("d://Web//c.xml"); ds.ReadXml(files[i].FullName); DataGrid dt = new DataGrid(); dt.ID = "DataGrid" + i.ToString(); dt.AutoGenerateColumns=false; BoundColumn MyName = new BoundColumn(); BoundColumn MyProductID = new BoundColumn(); BoundColumn Price= new BoundColumn(); BoundColumn Quantity = new BoundColumn(); MyName.HeaderText="名字"; MyName.DataField="Name"; MyProductID.HeaderText="序号"; MyProductID.DataField="ProductID"; Price.HeaderText="价格"; Price.DataField="Price"; Quantity.HeaderText="数量"; Quantity.DataField="Quantity"; dt.Columns.AddAt(0, MyName); dt.Columns.AddAt(1, MyProductID); dt.Columns.AddAt(2, Price); dt.Columns.AddAt(3, Quantity); dt.DataSource = ds.Tables["Product"]; dt.DataBind(); this.Controls.Add(dt); } } } </script> <form runat="server"> </form> 

xml文件格式:

  <?xml version="1.0" encoding="gb2312"?> <dataset> <product> <name>[孟宪会之精彩世界]</name> <productid>1</productid> <price>12000</price> <quantity>1</quantity> </product> <product> <name>http://dotnet.aspx.cc</name> <productid>2</productid> <price>12000</price> <quantity>2</quantity> </product> <product> <name>http://xml.sz.luohuedu.net/xml/</name> <productid>3</productid> <price>18000</price> <quantity>2</quantity> </product> </dataset> 
(1)做一个WinForm 的应用程序,加载data.xml到Grid控件。 XML文件中是行,cell 是列。 (2)将上一个题中Grid的行列进行转换 xml如下: A 110101196206170100 20081100 张三ffff 北京市海淀区知春路45号 110000 北京理工大学 北京市海淀区学院南路55号 110000 8000 C003B101110000001 2008-03-01 1 121 A 110101196206170100 20081100 李四24 北京市宣武区2号院3单元11楼 110000 中关村小学 北京市海淀区学院南路55号 110000 25000 C001B101110000001 2007-09-15 1 289 A 110101196206170100 20081100 张三123 北京市海淀区知春路45号 110000 北京理工大学 北京市海淀区学院南路55号 110000 8000 C003B101110000001 2008-03-01 1 121 A 110101196206170100 20081100 李四bbb 北京市宣武区2号院3单元11楼 110000 北京理工大学 北京市海淀区学院南路55号 110000 25000 C001B101110000001 2007-09-15 1 289 A 110101196206170100 20081100 张三aaa 北京市海淀区知春路45号 110000 清华附中 北京市海淀区学院南路55号 110000 8000 C003B101110000001 2008-03-01 1 121 A 110101196206170100 20081100 李四 北京市宣武区2号院3单元11楼 110000 北京理工大学 北京市海淀区学院南路55号 110000 25000 C001B101110000001 2007-09-15 1 289 A 110101196206170100 20081100 张三 北京市海淀区知春路45号 110000 南开大学 北京市海淀区学院南路55号 110000 8000 C003B101110000001 2008-03-01 1 121 A 110101196206170100 20081100 李四 北京市宣武区2号院3单元11楼 110000 北京理工大学 北京市海淀区学院南路55号 110000 25000 C001B101110000001 2007-09-15 1 289 A 110101196206170100 20081100 张三 北京市海淀区知春路45号 110000 北京理工大学 北京市海淀区学院南路55号 110000 8000 C003B101110000001 2008-03-01 1 121 A 110101196206170100 20081100 李四 北京市宣武区2号院3单元11楼 110000 北京理工大学 北京市海淀区学院南路55号 110000 25000 C001B101110000001 2007-09-15 1 289 A 110101196206170100 20081100 张三h 北京市海淀区知春路45号 110000 北京理工大学 北京市海淀区学院南路55号 110000 8000 C003B101110000001 2008-03-01 1 121 A 110101196206170100 20081100 李四a 北京市宣武区2号院3单元11楼 110000 北京理工大学 北京市海淀区学院南路55号 110000 25000 C001B101110000001 2007-09-15 1 289 A 110101196206170100 20081100 张三k 北京市海淀区知春路45号 110000 北京理工大学 北京市海淀区学院南路55号 110000 8000 C003B101110000001 2008-03-01 1 121 A 110101196206170100 20081100 李四j 北京市宣武区2号院3单元11楼 110000 北京理工大学 北京市海淀区学院南路55号 110000 25000 C001B101110000001 2007-09-15 1 289 A 110101196206170100 20081100 张三h 北京市海淀区知春路45号 110000 清华大学 北京市海淀区学院南路55号 110000 8000 C003B101110000001 2008-03-01 1 121 A 110101196206170100 20081100 李四g 北京市宣武区2号院3单元11楼 110000 北京理工大学 北京市海淀区学院南路55号 110000 25000 C001B101110000001 2007-09-15 1 289 A 110101196206170100 20081100 张三e 北京市海淀区知春路45号 110000 南开大学 北京市海淀区学院南路55号 110000 8000 C003B101110000001 2008-03-01 1 121 A 110101196206170100 20081100 李四f 北京市宣武区2号院3单元11楼 110000 北京理工大学 北京市海淀区学院南路55号 110000 25000 C001B101110000001 2007-09-15 1 289 A 110101196206170100 20081100 张三d 北京市海淀区知春路45号 110000 北京一中 北京市海淀区学院南路55号 110000 8000 C003B101110000001 2008-03-01 1 121 A 110101196206170100 20081100 李四c 北京市宣武区2号院3单元11楼 110000 清华附中 北京市海淀区学院南路55号 110000 25000 C001B101110000001 2007-09-15 1 289 A 110101196206170100 20081100 张三b 北京市海淀区知春路45号 110000 中关村小学 北京市海淀区学院南路55号 110000 8000 C003B101110000001 2008-03-01 1 121 A 110101196206170100 20081100 李四a 北京市宣武区2号院3单元11楼 110000 清华大学 北京市海淀区学院南路55号 110000 25000 C001B101110000001 2007-09-15 1 289
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值