2012-08-15 40 views
1

xml文件我有XML文件中像下面和Device類,我想從我的XML文件 得到List<Device>我怎麼能做到這一點的LINQ閱讀LINQ

  XDocument loaded = XDocument.Load(SharedData.CONFIGURATION_FULL_PATH); 
      var q = loaded.Descendants("device").Select(c => c); 

當然,但是這個代碼不工作

<?xml version="1.0" encoding="utf-8"?> 
<settings> 
<device> 
    <username>aa</username> 
    <AgentName>aa</AgentName> 
    <password>aa</password> 
    <domain>aa</domain> 
</device> 
<device> 
    <username>bb</username> 
    <AgentName>bb</AgentName> 
    <password>bb</password> 
    <domain>bb</domain> 
</device> 
<device> 
    <username>cc</username> 
    <AgentName>cc</AgentName> 
    <password>cc</password> 
    <domain>cc</domain> 
</device> 

</settings> 

回答

4
List<Device> devices = new List<Device>(loaded.Descendants("Device") 
              .Select(e => 
               new Device(e.Element("username").Value, 
                  e.Element("AgentName").Value, 
                  e.Element("password").Value, 
                  e.Element("domain").Value 
                 ))); 
0

你可以這樣做:

var devices = 
    loaded 
     .Descendants("Device") 
     .Select(e => new Device(
      e.Element("username").Value, 
      e.Element("AgentName").Value, 
      e.Element("password").Value, 
      e.Element("domain").Value)) 
     .ToList();