开发者

Selecting Second Node in XML for DataGrid

I am taking a XML file and binding it to a DataGrid. I have an issue. There are two child nodes in the XML file and I want the second node to be bound to the DataGrid.

Here is an example of the XML file:

<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>

I want to bind the Transactions to the DataGrid. Currently, when I bind the above XML file to the DataGrid, all I get is the Header values being populated. I would like the code to skip the Header and just bind the Transactions.

Here is my C# code in the Default.aspx.cs file:

    public void LoadXML()
    {
        try
        {
            serverPath = Server.MapPath("App_Data/" + xmlFileName);
            DataSet dsDataSet = new DataSet();
            dsDataSet.ReadXml(serverPath);
     开发者_运维百科       dgDataGrid.DataSource = dsDataSet;
            dgDataGrid.DataBind();
        }
        catch
        {
        }
    }

I will be grateful for any help.

Thank you in advance.


ReadXML will have loaded the xml structure into separate tables. If you bind to dsDataSet.Tables[2] it'll show all of your transactions.


To get both "Header" and "Transaction"

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

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

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜