我有一个XML文件,如下所示,
现在,我不知道“appsetting”元素下其节点数。
我正在尝试使用此XML文件填充网格 View ,
Gridview的节点名称列如标签1,标签2,标签3 ...等
并具有一行,其行具有相应的标签值,例如val 1,val 2,val 3。
我尝试了一些自我,但是我没有获得不提供节点名称的方法就无法获取内部值。
我试试这个
XmlDocument doc = new XmlDocument();
doc.Load(XmlPath);
XmlNodeList xnList = doc.SelectNodes("appSettings");
foreach (XmlNode xn in xnList)
{
DataTable dt = new DataTable();
dt.Columns.Add("Tag1");
dt.Columns.Add("Tag2");
dt.Columns.Add("Tag3");
DataRow dr;
dr = dt.NewRow();
dr["Tag1"] = xn["Tag1"].InnerText;
dr["Tag2"] = xn["Tag2"].InnerText;
dr["Tag3"] = xn["Tag3"].InnerText;
dt.Rows.Add(dr);
dgv.DataSource = dt;
}
dgv.AllowUserToAddRows = false;
dgv.ReadOnly = true;
最佳答案
我在@ Arin Ghazarian的帮助下得到了这个答案,
我只是修改他的代码,
XmlDocument doc = new XmlDocument();
doc.Load(XmlPath);
DataTable dt = new DataTable();
foreach (XmlNode xn in doc.ChildNodes[0])
{
string tagName = xn.Name;
if (!dt.Columns.Contains(tagName))
{
dt.Columns.Add(tagName);
}
}
DataRow dr = dt.NewRow();
foreach (XmlNode xn in doc.ChildNodes[0])
{
dr[xn.Name] = xn.InnerText;
}
dt.Rows.Add(dr);
关于c# - 如何获取xml节点名称和内部文本以及填充网格 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21697395/