2013-07-13 62 views
1

我想解析我的解決方案中的本地XML文件。 我使用下面的代碼:使用WP8進行XML解析

 XDocument xml = XDocument.Load("Vodka.xml"); 

     IEnumerable<XElement> drinkList = xml.Descendants("Drink"); 

     DrinkGroup data = new DrinkGroup(); 

     foreach (XElement drink in drinkList) 
     { 
      data.Items.Add(new Drinks 
      { 
       name = drink.Element("Name").Value, 
       image = drink.Element("Image").Value, 
       description = drink.Element("Description").Value, 
       ingredients = drink.Element("Ingredients").Value, 
       preperation = drink.Element("Preperation").Value 
      }); 
     } 

     return data; 

它適用於在drinkList的第一要素,然後返回一個System.NullReferenceException。

我在做什麼錯了?

+0

看來你'Drink'節點之一是不完整的(即缺少你認爲它會有些節點)。你可以展示你的XML嗎? –

回答

1

NullReferenceException最有可能是由於部分Drink節點的結構不完整造成的。你可以避開它,當你施放元素string,如通過.Value財產而不是獲取內容:

foreach (XElement drink in drinkList) 
{ 
    data.Items.Add(new Drinks 
    { 
     name = (string) drink.Element("Name"), 
     image = (string) drink.Element("Image"), 
     description = (string) drink.Element("Description"), 
     ingredients = (string) drink.Element("Ingredients"), 
     preperation = (string) drink.Element("Preperation") 
    }); 
} 
+0

原來我有一個XML文件的問題,我沒有看到一些語法錯誤.. –