C#.net-在按钮单击事件上在datagridview控件中显示xml文件的代码

C#.net-在按钮单击事件上在datagridview控件中显示xml文件的代码,c#,C#,我的xml包含父、子和许多孙子。。每个孙辈都有许多标记,这些标记具有键和值等属性。。。我应该在按钮单击事件上显示键和值。如何操作。。请尽快帮助我您是否正在使用win form/wpf? 请尝试复制/跳过您的xml 梅比: DataSet dataSet = new DataSet(); dataSet.ReadXml(@"C:\Books\Books.xml"); dataSet.Tables[0].Columns.Remove("useless"); dataGridView1.DataSou

我的xml包含父、子和许多孙子。。每个孙辈都有许多标记,这些标记具有键和值等属性。。。我应该在按钮单击事件上显示键和值。如何操作。。请尽快帮助我

您是否正在使用win form/wpf? 请尝试复制/跳过您的xml

梅比:

DataSet dataSet = new DataSet();
dataSet.ReadXml(@"C:\Books\Books.xml");
dataSet.Tables[0].Columns.Remove("useless");
dataGridView1.DataSource = dataSet.Tables[0];
试试这个

DataTable dt = new DataTable();
    dt.Columns.Add("name");
    dt.Columns.Add("value");
    XmlDocument Doc = new XmlDocument();
    Doc.Load("example.xml");
    XmlNodeList nodeList = Doc.SelectNodes("/ITEM");
    foreach (XmlNode node in nodeList)
    {
      foreach (XmlAttribute attr in node.Attributes)
      {
        string name = attr.Name;
        string value = attr.Value;
        DataRow dr = new DataRow();
        dr["name"] = name;
        dr["value"] = value;
        dt.Rows.Add(dr);
      }          
    }
    dataGridView1.DataSource = dt;

我建议您查看
linqtoxml
。我们不会为您编写代码!你自己试试看,然后问一些问题,看看哪些不起作用。因为我对c#net不太了解。我试过了。但实际上,我必须显示oly所选标记的属性值,而不是完整的xml文件。您可以随时删除无用的列。请参见编辑的代码。好吧,这是为了保持简单,但其他一些方法看起来更好。绑定到GridViewError的已编辑答案就像类型或命名空间定义一样,或者由于其保护级别,预期的文件结尾无法访问
DataTable dt = new DataTable();
    dt.Columns.Add("name");
    dt.Columns.Add("value");
    XmlDocument Doc = new XmlDocument();
    Doc.Load("example.xml");
    XmlNodeList nodeList = Doc.SelectNodes("/ITEM");
    foreach (XmlNode node in nodeList)
    {
      foreach (XmlAttribute attr in node.Attributes)
      {
        string name = attr.Name;
        string value = attr.Value;
        DataRow dr = new DataRow();
        dr["name"] = name;
        dr["value"] = value;
        dt.Rows.Add(dr);
      }          
    }
    dataGridView1.DataSource = dt;