【发布时间】:2020-10-13 09:38:27
【问题描述】:
我是 ASP.Net 的新手,我想将以下 XML 读入 ASP.Net Grid。 当我将 xml 加载到 DataSet 并使用以下代码时,它只显示 XML 中的第一个表。
DataSet DS = new DataSet();
DS.ReadXml(Server.MapPath(".\\data\\demo_portfolio.xml"));
GridView1.DataSource = DS;
GridView1.DataBind();
要读取的 XML
<portfolio>
<script>
<name>"HDFC.BSE"</name>
<row>
<PurchasePrice>2433.75</PurchasePrice>
<PurchaseDate>2020-01-01</PurchaseDate>
<PurchaseQty>5</PurchaseQty>
<CommissionPaid>20</CommissionPaid>
<CostofInvestment>12188.75</CostofInvestment>
</row>
<row>
<PurchasePrice>2455.30</PurchasePrice>
<PurchaseDate>2020-01-20</PurchaseDate>
<PurchaseQty>4</PurchaseQty>
<CommissionPaid>30</CommissionPaid>
<CostofInvestment>9851.20</CostofInvestment>
</row>
<row>
<PurchasePrice>1874.90</PurchasePrice>
<PurchaseDate>2020-03-12</PurchaseDate>
<PurchaseQty>6</PurchaseQty>
<CommissionPaid>30</CommissionPaid>
<CostofInvestment>11279.40</CostofInvestment>
</row>
</script>
</portfolio>
【问题讨论】:
-
我的预期输出在网格中如下(每行重复名称):名称|PurchasePrice|PurchaseDate|PurchaseQty|CommisionPaid|CostofInvestment
-
Gridview 是一个二维对象,只会显示一个表格。您可能需要为每个表使用单独的 GridView,或者需要通过一个公共键连接多个表。
-
DataSet ReadXml 仅限于 4 级后代。在 4 个级别之后,DS 被分割成无法使用或组合的表。一旦超过 4 个级别,您应该使用其他 Xml 解析方法将数据放入 2 维对象,然后再放入 GridView。
-
让我重新表述我的问题...如何在单个网格中显示 XML 上方?如果是的话,如果有人可以帮助我使用代码 sn-p,将不胜感激。 ASP.Net GridView 也可以允许选择行吗?我不必使用DataSet,还有其他选择吗?
-
只绑定到表“行”:DataSet ds = new DataSet(); ds.ReadXml(文件名);数据表 dt = ds.Tables["row"];
标签: c# asp.net xml gridview dataset