0

Customerx.xml という名前の XML ファイルがあります。として親タグがあります。たくさんあります。

私の顧客クラスは次のように定義されています。

public class Customer
{
  private List<Customer> customerList;

  public string CustomerID { get; set; }
  public string CompanyName { get; set; }
  public string Address { get; set; }
  public string City { get; set; }
  public string Region { get; set; }
  public string PostalCode { get; set; }
  public string Country { get; set; }
  public string Phone { get; set; }
  public string Fax { get; set; }

  public List<Customer> GetCustomerList()
  {
     if (customerList == null)
        CreateCustomerLists();

     return customerList;
  }

  private void CreateCustomerLists()
  {
     var list = from e in XDocument.Load("Customers.xml").Root.Elements("customer")
                 select new Customer
                            {
                                CustomerID = (string) e.Element("id"),
                                CompanyName = (string) e.Element("name"),
                                Address = (string) e.Element("address"),
                                City = (string) e.Element("city"),
                                Region = (string) e.Element("region"),
                                PostalCode = (string) e.Element("postalcode"),
                                Country = (string) e.Element("country"),
                                Phone = (string) e.Element("phone"),
                                Fax = (string) e.Element("fax"),
                            };

      customerList = list.ToList();
  }
}

XML のデータは次のとおりです。

<?xml version="1.0"?>
<customers>
  <customer>
    <id>ALFKI</id>
    <name>Alfreds Futterkiste</name>
    <address>Obere Str. 57</address>
    <city>Berlin</city>
    <postalcode>12209</postalcode>
    <country>Germany</country>
    <phone>030-0074321</phone>
    <fax>030-0076545</fax>
  </customer>
  <customer>
    <id>ANATR</id>
    <name>Ana Trujillo Emparedados y helados</name>
    <address>Avda. de la Constitución 2222</address>
    <city>México D.F.</city>
    <postalcode>05021</postalcode>
    <country>Mexico</country>
    <phone>(5) 555-4729</phone>
    <fax>(5) 555-3745</fax>
  </customer>

メソッドで、CreateCustomerLists()xlm ファイルからデータを読み取っているときに null 参照の実行を取得していますか? なぜこうなった?どうすればそれを取り除くことができますか?

4

1 に答える 1

1

他の質問に答えるには: Visual Studio でデバッグから実行している場合、デバッグ フォルダーは、ファイルの検索に使用する相対パスの先頭になります。含める必要があるファイルはすべてそこに配置する必要があります。

于 2013-05-01T16:01:26.857 に答える