使用 ASP.NET Grid 显示分层 xml 数据

我有以下 XML 数据。我需要以分层表格格式将它们呈现在 ASP.NET 网页上。


XML:


<Developers>

  <Region name="UK">

    <Region name="England">

      <Region name="London">

        <Data Date="01-01-2019">

          <Value name="DotNet">100</Value>

        </Data>

        <Data Date="01-01-2020">

          <Value name="DotNet">200</Value>

          <Value name="Java">300</Value>

        </Data>

      </Region>

      <Region name="Other">

        <Data Date="01-01-2019">

          <Value name="DotNet">400</Value>

        </Data>

        <Data Date="01-06-2019">

          <Value name="DotNet">500</Value>

        </Data>

      </Region>

    </Region>

    <Region name="Scotland">

      <Data Date="01-01-2019">

        <Value name="DotNet">600</Value>

      </Data>

    </Region>

  </Region>

  <Region name="France">

    <Data Date="01-06-2020">

      <Value name="DotNet">700</Value>

    </Data>

  </Region>

  <Region name="Germany">

    <Data Date="01-06-2019">

      <Value name="Java">800</Value>

    </Data>

  </Region>

</Developers>

预期输出:

https://img3.mukewang.com/65059b050001fe0202750183.jpg

其中 (-) 是树视图的展开/折叠控件。

是否可以使用 ASP.NET 数据网格来实现此目的?任何代码示例都会非常有用。


ABOUTYOU
浏览 54回答 1
1回答

智慧大石

在asp.net网格视图中显示xml数据。默认 asp 网页<html>&nbsp; <head>&nbsp; &nbsp; <title>Datagrid With XML </title>&nbsp; &nbsp; <link rel="stylesheet" href="css/ASPNetCookbook.css">&nbsp; </head>&nbsp; <body leftmargin="0" marginheight="0" marginwidth="0" topmargin="0">&nbsp; &nbsp; <form id="frmDatagrid" method="post" runat="server">&nbsp; &nbsp; &nbsp; <table width="100%" cellpadding="0" cellspacing="0" border="0">&nbsp; &nbsp; &nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td align="center">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <img src="images/ASPNETCookbookHeading_blue.gif">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>&nbsp; &nbsp; &nbsp; &nbsp; </tr>&nbsp; &nbsp; &nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td class="dividerLine">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <img src="images/spacer.gif" height="6" border="0"></td>&nbsp; &nbsp; &nbsp; &nbsp; </tr>&nbsp; &nbsp; &nbsp; </table>&nbsp; &nbsp; &nbsp; <table width="90%" align="center" border="0">&nbsp; &nbsp; &nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td><img src="images/spacer.gif" height="10" border="0"></td>&nbsp; &nbsp; &nbsp; &nbsp; </tr>&nbsp; &nbsp; &nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td align="center" class="PageHeading">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;DataGrid Using Data From XML (VB)</td>&nbsp; &nbsp; &nbsp; &nbsp; </tr>&nbsp; &nbsp; &nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td><img src="images/spacer.gif" height="10" border="0"></td>&nbsp; &nbsp; &nbsp; &nbsp; </tr>&nbsp; &nbsp; &nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <td align="center">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <asp:DataGrid&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; id="dgRegion"&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; runat="server"&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BorderColor="000080"&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BorderWidth="2px"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; AutoGenerateColumns="False"&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; width="100%">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <HeaderStyle&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; HorizontalAlign="Center"&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ForeColor="#FFFFFF"&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BackColor="#000080"&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Font-Bold=true&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; CssClass="TableHeader" />&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <ItemStyle&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BackColor="#FFFFE0"&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cssClass="TableCellNormal" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <AlternatingItemStyle&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; BackColor="#FFFFFF"&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cssClass="TableCellAlternating" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <Columns>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <asp:BoundColumn HeaderText="Region" DataField="Region" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <asp:BoundColumn HeaderText="Data " DataField="Data "&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ItemStyle-HorizontalAlign="Center" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <asp:BoundColumn HeaderText="Value " DataField="Value "&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ItemStyle-HorizontalAlign="Center" />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </Columns>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </asp:DataGrid>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; </td>&nbsp; &nbsp; &nbsp; &nbsp; </tr>&nbsp; &nbsp; &nbsp; </table>&nbsp; &nbsp; </form></body></html>下面给出cs代码。using System;using System.Configuration;using System.Data;using System.Data.OleDb;namespace ASPNetCookbook.CSExamples{&nbsp; public class CH01DataGridWithXMLCS : System.Web.UI.Page&nbsp; {&nbsp; &nbsp; private void Page_Load(object sender, System.EventArgs e)&nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; const String Region_TABLE = "Region";&nbsp; &nbsp; &nbsp; DataSet dSet = null;&nbsp; &nbsp; &nbsp; String xmlFilename = null;&nbsp; &nbsp; &nbsp; if (!Page.IsPostBack)&nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; try&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // get fully qualified path to the "Region" xml document located&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; xmlFilename = Server.MapPath("xml") + "\\Region.xml";&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dSet = new DataSet( );&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dSet.ReadXml(xmlFilename);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // bind the dataset to the datagrid&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dgRegion.DataSource = dSet.Tables[Region_TABLE];&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;dgRegion.DataBind( );&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; &nbsp; finally&nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; // cleanup&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; if (dSet != null)&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dSet.Dispose( );&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; // finally&nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; }&nbsp; // Page_Load&nbsp; }&nbsp;&nbsp;}
打开App,查看更多内容
随时随地看视频慕课网APP