我有一个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/

10-10 18:39
查看更多