2016-04-28 19 views
0

XDocumentクラスを使用して単純なXML文書を読み込もうとしています。 ドキュメントが読み込まれましたが、私はOperationConfigをXMLにマッピングするのに苦労していますか?c#LINQ to XML - XDocument

var xml = XDocument.Load(path); 
var query = xml.Root.Elements("configaccount") 
    .Select(o => new OperationConfig() 
    { 
     AccountName = o.Attribute("accountname").Value, 
     Email = o.Attribute("email").Value 
    }); 

XML:

<?xml version="1.0" encoding="UTF-8"?> 
    <config> 
     <configaccount> 
      <accountname> 
       BusinessName 
      </accountname> 
      <email> 
       [email protected] 
      </email> 
     </configaccount> 
    </Config> 

ない私はnullを再同調していますように私が見逃しているのかわから?

答えて

3

xmlから名前で子孫ノードを検索する必要があります。また、 "accountname"と "email"は属性ではなく、XMLの要素です。属性は要素内にあります。

は、このヘルプあなたは*理由*このクエリが動作し、オリジナルのものがなかった理由を追加することを検討してください

+0

クエリ

var query = xml.Descendants("configaccount") .Select(o => new OperationConfig { AccountName = o.Element("accountname").Value, Email = o.Element("email").Value }); 

希望を交換してください。私はあなたのソリューションを単にコピーして貼り付けるだけで多くのことを学ぶとは思わない。 –

+0

ありがとう@CharlesMager、私は私の答えを改善しました。 –