c# - 如何使用 Linq Lambda 检索 XML?

标签 c# asp.net linq lambda

当 Databind() 调用时,它会在新客户处生成错误。 请仅通过 linq 和 lambda 来解决。

错误:

未将对象引用设置为对象的实例

IEnumerable<Customers> Customers = XDocument.Load("Customers.xml")
    .Descendants("Customer")
        .Select(x => new Customers
        {
            Name = x.Element("Name").Value,
            City = x.Element("City").Value,
            Contact = x.Element("Contact").Value
        });

grid.DataSource = Customers;
grid.DataBind();

public class Customers
{
    public Customers() { }
    public string Name { get; set; }
    public string City { get; set; }
    public string Contact { get; set; }
}

XML:

 <?xml version="1.0" encoding="utf-8"?>
<Customers>
    <Customer>
        <Name>John</Name>
        <City>Ney York</City>
        <Contact>2233</Contact>
    </Customer>
    <Customer>
        <Name>Albert</Name>
        <City>Sydney</City>
        <Contact>4455</Contact>
    </Customer>
    <Customer>
        <Name>David</Name>
        <City>Colombo</City>
        <Contact>6677</Contact>
    </Customer>
    <Customer>
        <Name>George</Name>
        <City>London</City>
        <Contact>8899</Contact>
    </Customer>
</Customers>

最佳答案

试试这个..

IEnumerable<Customers> Customers = XDocument.Load("Customers.xml").Element("Customers")
  .Descendants("Customer")
    .Select(x => new Customers
    {
        Name = x.Element("Name").Value,
        City = x.Element("City").Value,
        Address = x.Element("Address").Value
    });

希望这能成功。

关于c# - 如何使用 Linq Lambda 检索 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11735673/

相关文章:

javascript - 我需要在 asp 链接按钮上显示表格行

LINQ 列表包含另一个列表(连续)

linq - 使用 LINQ To 对象创建键/值集合

c# - 为什么我可以在迭代 LINQ 列表时对其进行编辑?

c# - 如何使用亚洲格式格式化钱

c# - POST 与 WebRequest 问题

c# - 如何在 Windows 中迭代无响应的程序?

c# - 查找单词的正则表达式

c# - 关于在 C# 中使用新约束

c# - Xml 序列化 - 忽略父节点