Linq到Xml到Datagridview

对,开始疯狂到这里。 我有以下代码:

var query = (from c in db.Descendants("Customer") select c.Elements()); dgvEditCusts.DataSource = query.ToList(); 

在这里,db涉及XDocument.Load调用。 如何将数据导入DataGridView?

我想应该提一下:它会返回一个完全空白的dgv。

并不是说XML太重要了,但这是一个例子:

   1 2010-04-13T21:59:46.4642+01:00 Customer Name 
Address
AB1 2XY 0123456789 0123456789 email@address.com

当您调用db.Descendants("Customer")您只返回名称为Customer的元素。 不是它的孩子。 请参阅MSDN文档 。

因此,当您调用c.Elements()它会尝试获取不存在的客户的子元素b / c它们被过滤掉了。

我认为如果您放弃Customer过滤可能会有效。

啊,没关系,我最终找到了自己问题的答案。 以下是可能存在此问题的其他任何人的代码:

 var query = from c in db.Descendants("Customer") select new { CustomerNumber = Convert.ToInt32((string)c.Element("CustomerNumber").Value), Name = (string)c.Element("Name").Value, Address = (string)c.Element("Address").Value, Postcode = (string)c.Element("PostCode1").Value + " " + c.Element("PostCode2").Value }; dgvEditCusts.DataSource = query.ToList();