【发布时间】:2018-02-06 14:44:01
【问题描述】:
我需要使用数据表在网格视图中显示我的 xml。 我的 XML 是这样组成的:
现在我以这种方式获取数据:
XmlDocument doc = new XmlDocument();
doc.Load(@"path\MyXml.xml"); //Percorso file xml
DataTable dt = new DataTable();
foreach (XmlNode xns in doc.SelectSingleNode("Settembre"))
{
string tagName = xns.Name;
if (!dt.Columns.Contains(tagName))
{
dt.Columns.Add(tagName);
}
}
在这部分代码中,我根据“Settembre”的子标签(例如“ven_01”)添加了我的列,这样就可以了。
然后我以这种方式将内容(“Settembre”的子标签的子标签的innerText,例如“ven_01”中的“Mattina_Turno_1”)写入单元格
DataRow dr = dt.NewRow();
foreach (XmlNode xns in doc.SelectSingleNode("Settembre"))
{
dr[xns.Name] = xns.InnerText;
}
dt.Rows.Add(dr);
GridView1.DataSource = dt;
GridView1.DataBind();
这也有效,但我想做的是在每一行的第一列第一个单元格中显示由 innerText 的父节点组成的第一列作为行名称(它们的最大值为 3,为了更好地解释是标签 "Mattina_Turno1", "Mattina_Turno_2" 和 "Pomeriggio" , 里面可以是一些 innerText)
这是我一段时间以来一直尝试做的事情。 此外,由于行名只有 3,列名可能超过 3,我想恢复它们,所以,如果可能的话,在列标题中显示行名(所以“Mattina_Turno1”,“Mattina_Turno_2”和“Pomeriggio”),并将“Settembre”子标签命名为行(例如“ven_01”)。
我希望我能让我理解
请不要标记为重复,因为我在网上搜索了很多并没有找到解决方案,所以请不要投票并标记为重复,不是。
【问题讨论】:
标签: c# asp.net xml gridview datatable