gpt4 book ai didi

c# - 如何获取 xml 节点名称和内部文本和填充 GridView

转载 作者:太空宇宙 更新时间:2023-11-03 10:50:13 25 4
gpt4 key购买 nike

我有一个 XML 文件,如下所示,

现在我不知道“appsetting”元素下的节点数。我正在尝试使用此 XML 文件填充 GridView ,有点像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;

enter image description here

最佳答案

我在@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 节点名称和内部文本和填充 GridView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21697395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com