当 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/