将某一目录下的所有相同格式的 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>