2

Databind() を呼び出すと、新しい Customers でエラーが発生します。lambdaでlinqだけで解決してください。

エラー :

オブジェクト参照がオブジェクト インスタンスに設定されていません

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>
4

2 に答える 2

5

これを試して..

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
    });

この仕事を願っています。

于 2012-07-31T08:19:48.080 に答える
0

's'を使用して顧客とともに変更する

  List<Customers> data =   XDocument.Load("Customers.xml").Descendants("Customers")
                                    .Select(x => new Customers
                                        {
                                            Name = x.Element("Name").Value,
                                            City = x.Element("City").Value,
                                            Address = x.Element("Address").Value
                                        }).ToList();
于 2012-07-31T08:05:44.940 に答える