C# 将XML加载到网格视图中

C# 将XML加载到网格视图中,c#,.net,xml,linq,C#,.net,Xml,Linq,是否可以将xml文件的内容与c#中的数据网格视图绑定?也许用。。。林克?我可以这样做吗?我想在网格视图中显示xml文件的内容,在那里编辑、添加或删除它们,然后将它们保存在我首先加载的xml文件中。我还希望能够通过网格搜索和编辑多个项目。我正在创建一个表单应用程序。xml文件很简单,仅限于: <people> <person name='John' email='John@email.com'/> </people> 可以有很多类型person的

是否可以将xml文件的内容与c#中的数据网格视图绑定?也许用。。。林克?我可以这样做吗?我想在网格视图中显示xml文件的内容,在那里编辑、添加或删除它们,然后将它们保存在我首先加载的xml文件中。我还希望能够通过网格搜索和编辑多个项目。我正在创建一个表单应用程序。xml文件很简单,仅限于:

<people> 
    <person name='John' email='John@email.com'/>
</people>

可以有很多类型person的记录。
解决此问题的最佳方法是什么?

MSDN推荐的最简单的方法是将其加载到数据集中

在DevX上的Vb.Net中有一整套代码,还有一个教程可以帮助您通过数据集将DataGridView绑定到XML


希望这有帮助。它在Vb.Net中,但您会明白的。

假设您已将xml加载到“doc”XDocument中

var persons = from item in doc.Descendants("person")
              select new
              {
                  Name = item.Element("name").Value,
                  Mail = item.Element("email").Value
              };

myDataboundControl.DataSource = persons;
myDataboundControl.Databind();

首先,您必须获得XML文件的路径,然后创建一个新的数据集,然后根据需要将数据集与数据网格视图绑定。您还可以使用SQL查询来更新、删除XML文件

{ 
     Data Set dd = new Data Set();
    dd.ReadXml ("XML Path");
     DataTable xm = ds.Tables[0];
}

我想在WinformsBut中开发GUI,但不将编辑保存在xml文件中。我该怎么做?