2011-07-01 29 views
0

我正在将XML文件绑定到DataGrid。我有一个问题。 XML文件中有两个子节点,我希望将第二个节点绑定到DataGrid。为DataGrid选择XML中的第二个节点

下面是XML文件的例子:

<Root> 

    <Header> 
    <value1>0000000</value1> 
    <value2>1</value2> 
    <value3>100.00</value3> 
    </Header> 

    <Transactions> 
    <Txn> 
     <Login></Login> 
     <UserName>Bob</User> 
     <Customer>Bob Smith</Customer> 
    </Txn> 
    </Transactions> 

</Root> 

我想将交易绑定到DataGrid。目前,当我将上述XML文件绑定到DataGrid时,我得到的只是正在填充的Header值。我希望代码跳过标题并绑定事务。

这里是在Default.aspx.cs文件我的C#代码:

public void LoadXML() 
    { 
     try 
     { 
      serverPath = Server.MapPath("App_Data/" + xmlFileName); 
      DataSet dsDataSet = new DataSet(); 
      dsDataSet.ReadXml(serverPath); 
      dgDataGrid.DataSource = dsDataSet; 
      dgDataGrid.DataBind(); 
     } 
     catch 
     { 
     } 
    } 

我会感谢任何帮助。

预先感谢您。

回答

0

ReadXML会将xml结构加载到单独的表中。如果绑定到dsDataSet.Tables [2],它将显示所有事务。

+0

完美。正是我想要的。 – Turp

0

为了得到这两个 “头” 和 “交易”

 GridView1.DataSource = ds.Tables[0] ; 
     GridView1.DataBind(); 

     GridView2.DataSource = ds.Tables[2]; 
     GridView2.DataBind();