2011-04-01 72 views
0

問候。我有一個小麻煩,我想有一些幫助。我有一個非常大的xml文件,有大約1000個客戶,有不同的客戶信息。我想做一些方法來檢索這些信息。我一直在尋找到處,但似乎無法找到即時尋找。目前我試圖:c#從xml返回所有特定元素

public custInformation getcustInfo(string file) {  
    //Load the xml file 
    var xe = XDocument.Load(_server.MapPath(file)).Root; 

    //Get information 
    return (from p in xe.Descendants("cust-account").Descendants("cust-info") 
      select new custInformation 
      { 
       firstName = (string)p.Element("cust-fname"), 
       lastName = (string)p.Element("cust-lname"), 
       address = (string)p.Element("cust-address1"), 
      }).(All elements)?? 
} 

(所有元素)是在哪裏id喜歡檢索所有的信息。使用FirstOrDefault只會回顧第一個元素,而LastOrDefault只會回顧第一個元素。如果有人能幫助我,我會變得非常優秀。

回答

0

你想要一個客戶名單。將返回值更改爲IEnumerable ,並使用ToList()/ ToArray()將查詢轉換爲IEnumerable:

public IEnumerable<custInformation> getcustInfo(string file) {  
    //Load the xml file 
    var xe = XDocument.Load(_server.MapPath(file)).Root; 

    //Get information 
    return (from p in xe.Descendants("cust-account").Descendants("cust-info") 
      select new custInformation 
      { 
       firstName = (string)p.Element("cust-fname"), 
       lastName = (string)p.Element("cust-lname"), 
       address = (string)p.Element("cust-address1"), 
      }).ToList(); 
} 
相關問題