为DataGrid选择XML中的第二个节点

本文关键字:第二个 节点 XML DataGrid 选择 | 更新日期: 2023-09-27 18:00:58

我正在获取一个XML文件并将其绑定到DataGrid。我有个问题。XML文件中有两个子节点,我希望第二个节点绑定到DataGrid。

以下是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值。我希望代码跳过Header,只绑定Transactions。

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

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

如果有任何帮助,我将不胜感激。

提前谢谢。

为DataGrid选择XML中的第二个节点

ReadXML将把xml结构加载到单独的表中。如果绑定到dsDataSet。表[2]将显示您的所有交易。

获取"Header"answers"Transaction">

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