c# - Linq to Xml 到 Datagridview

标签 c# xml datagridview linq-to-xml

对了,这里开始发疯了。我有以下代码:

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

在此,db 与 XDocument.Load 调用相关。如何将数据放入 DataGridView?

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

并不是说 XML 应该太重要,但这里有一个例子:

<Root>
  <Customer>
    <CustomerNumber>1</CustomerNumber>
    <EntryDate>2010-04-13T21:59:46.4642+01:00</EntryDate>
    <Name>Customer Name</Name>
    <Address>Address</Address>
    <PostCode1>AB1</PostCode1>
    <PostCode2>2XY</PostCode2>
    <TelephoneNumber>0123456789</TelephoneNumber>
    <MobileNumber>0123456789</MobileNumber>
    <AlternativeNumber></AlternativeNumber>
    <EmailAddress>email@address.com</EmailAddress>
  </Customer>
</Root>

最佳答案

当您调用 db.Descendants("Customer") 时,您只返回名称为 Customer 的元素。不是 child 。参见 MSDN Docs .

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

我认为如果您删除 Customer 过滤可能会起作用。

关于c# - Linq to Xml 到 Datagridview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2633745/

相关文章:

Android 工具栏,居中文本布局问题

c# - 规则/验证设计模式

java - 使用 Java 序列化 XML 以进行流式传输的最佳方法?

c# - 如何以编程方式更改默认音频输入设备

c# XML 序列化 - 动态元素名称

c# - 防止 Windows 窗体 datagridview 在单元格编辑后更改行

c# - 删除未提交的 DGV 新行

c# - DataGridView 自动排序在数据源绑定(bind)时不起作用

c# - 在条件语句中使用 null 条件运算符时,如何处理 null 情况?

c# - F# OOP - 实现接口(interface) - 私有(private)和方法名称问题