2013-08-25 4 views
-1

Я сделал XML-файл сегодня для своего приложения C#.
XML (я гнал в Pastebin, потому его своего рода большой код XML, извините): Pastebin
и код внутри C#XML, XDocument.Parse and foreach XElement

private void web_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e) 
{ 
    if (e.Error == null) 
    { 
     XDocument doc = XDocument.Parse(e.Result); 

     foreach (XElement xe in doc.Root.Element("builds").Element("build").Element("items").Elements("item")) 
     { 
      string s0 = xe.Element("name").ToString(); 
      string s1 = xe.Element("uri").ToString(); 
      string[] s2 = new string[2]; 

      s2[0] = s0; 
      s2[1] = s1; 
      ListViewItem lvi = new ListViewItem(s2); 
      listView1.Items.Add(lvi); 
     } 

    } 
} 

И я получаю ошибку - Object reference not set to an instance of an object. или иногда его вообще не показывается

+0

Отлаживайте свой код. Один из '.Element (name)' возвращает null. Таким образом, 'null.SomeMethod' выкинет это исключение. – I4V

+0

попробуйте просто doc.Descendants ("name"); – Jonesopolis

+0

@ I4V Отладка не дает мне никакого смысла – user2713690

ответ

0

Нет узлов items или item узлов в вашем XML-файле, и поэтому вы получаете нуль.

+0

Спасибо, но, перейдя на 'files' и' file', который находится в файле XML, я все еще получение такой же ошибки! Изменить: Исправлено. – user2713690

Смежные вопросы