2014-01-21 26 views
-1

我創建了一個名爲Client的類。 我想讀取一個xml文件並填寫客戶列表。 這裏是代碼:讀取XML文件時,對象引用未設置爲對象的實例

List<Client> lc = new List<Client>(); 

       Client c = new Client(); 

       c.IdClient = ""; 
       c.NomClient = ""; 
       c.PrenomClient = ""; 

       XmlDocument doc = new XmlDocument(); 
       doc.Load(pathXml); 
       XmlNodeList clients = doc.SelectNodes("//Kunde"); 

       foreach (XmlNode client in clients) 
       { 

        //c.IdClient = (from v in XDocument.Load(pathXml).Descendants("Kunde") 
           // select v.Element("KundNR")).FirstOrDefault().ToString(); 


        c.IdClient = doc.SelectSingleNode("//KundNr").Attributes[0].InnerText.ToString(); 
        c.NomClient = doc.GetElementsByTagName("Nachname").ToString(); 
        c.PrenomClient = doc.GetElementsByTagName("Vorname").ToString(); 
        lc.Add(c); 
       } 
       lc.Add(c); 
       return lc; 

但是當我運行我顯示了這個異常:對象引用不設置到對象的實例。請幫忙

+0

這可能是C#中最常見的異常。當他們都有相同的答案時,已經有太多的問題了,你正在對一個當前爲空的引用使用'。(access operator)。停止通過代碼檢查每個引用的值,您將很快發現它爲什麼會發生。 – evanmcdonnal

+0

問題出在id.clients中,我該怎麼辦?請幫助 – user1503496

+0

我沒有看到那條線..一個選擇是做'if(id!= null)'然後訪問'id.clients'如果它是空的我不能告訴你該怎麼做,因爲我是不確定你期望它是什麼,但想想如何分配/初始化,你期望在那裏有什麼價值,爲什麼它是空的,以及如何防止這種情況發生。 – evanmcdonnal

回答

0

很難說沒有看到xml,但doc.SelectSingleNode("//KundNr").Attributes[0]看起來懷疑。

+0

看起來是這樣的: test1的 AAAA 是在該行的錯誤 – user1503496

相關問題