WP7 работает с XML: фильтрация исключения NullReferenceException была необработанной C # - PullRequest
0 голосов
/ 09 марта 2012

это мой SearchFile.xml, который я использую для фильтрации отбойников по округам

<search>

<chipper LName="Nico's Takeaway"
    PlAddress= "Unit 12 River Oaks, Claregalway"
    County="Galway"
    PhoneNumber =" 091 799791"/>

  <chipper LName=" Martino's Takeaway"
    PlAddress= "The Square, Dunmore"
    County ="Galway"
    PhoneNumber="093 39720"/>
  <chipper
    LName="Attico's Takeaway"
    PlAddress="Dunkellin Street, Loughrea"
    County="Galway"
    PhoneNumber="091 871551"/>
  <chipper
    LName="9th Lough"
    PlAddress="1 St Patricks Road, Clondalkin"
    County="Dunlin 22"
    PhoneNumber="01 4573267"/>
  <chipper
    LName="Aldo's Diner"
    PlAddress="Old Bray Road, Cornelscourt, Foxrock"
    County="Dunlin 18"
    PhoneNumber="01 2899226"/>
  <chipper
    LName="Alfredo’s Take Away"
    PlAddress="81 Macroom Road, Coolock"
    County="Dunlin 17"
    PhoneNumber="01 8474641"/>
</search>

Это мой код C #, где я получаю исключение NullReferenceException точка поиска появляется там, где найти. Атрибут («Округ»). Значение == «Голуэй»?

 private void newsEventBtn_Click(object sender, RoutedEventArgs e)       
{

XDocument loadedData = XDocument.Load("SearchFile.xml");           
var filteredData = from find in loadedData.Descendants("search")                                                                            
         where find.Attribute("County").Value == "Galway"                             
 select new Chippers()                             
{

        LName = find.Attribute("LName").Value
        //PlAddress = c.Attribute("PAddress").Value,
        //PhoneNumber = c.Attribute("PhoneNumber").Value
};
  listBox.ItemsSource = filteredData;

Это мой chippers класс Chippers.cs, который я использую для хранения значений элементов xml

public class Chippers
    {


        string name;
        string PAddress;
        string county;
        string phoneNumber;

        public string LName
        {
            get { return name; }
            set { name = value; }
        }

        public string PlAddress
        {
            get { return PAddress; }
            set { PAddress = value; }
        }

        public string County
        {
            get { return county; }
            set { county = value; }
        }
        public string PhoneNumber
        {
            get { return phoneNumber; }
            set { phoneNumber = value; }
        }

    }
}

если бы кто-нибудь мог сказать мне, почему это происходит, было бы полезно спасибо

1 Ответ

0 голосов
/ 09 марта 2012

вы должны повторить над «бодром» вместо «поиска». Изменения:

var filteredData = from find in loadedData.Descendants("search")  

в:

var filteredData = from find in loadedData.Descendants("chipper")

Greets

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...