2012-01-05 4 views
0

基本的には、アプリケーションの設定を保存するxmlファイルの中に単一の要素があります。この要素は、私が構築したクラスをミラーリングします。私がLINQを使ってやろうとしていることは、その単一の要素を選択してから、その要素の内部に格納された値をクラスのインスタンスに1つのステートメントで格納することです。linqを使用してxmlファイルから単一の項目からオブジェクトを作成するにはどうすればよいですか?

今私は要素を別々に選択し、その要素からの値を別のプロパティに格納しています。もちろん、これは約6つの別個のステートメントに変わります。単一のステートメントでこれを行うことは可能ですか?

答えて

2

あなたのXMLを表示することができればそれは良くなるが、あなたはあなたが、例えば、XMLにLINQを使用することができます

XDocument doc = //load xml document here 

var instance = from item in doc.Descendants("ElementName") 
        select new YourClass() 
           { 
            //fill the properties using item 
           }; 
2

次のコードから一般的なアイデアを得ることができます

var document = XDocument.Load("myxml.xml"); 
document.Element("rootElement").Element("myElement").Select(e => 
    new MySettingsClass 
    { 
    MyProperty = e.Attribute("myattribute").Value, 
    MyOtherProperty = e.Attribute("myotherattribute").Value 
    }); 

詳細については、http://msdn.microsoft.com/en-us/library/bb387098.aspxを参照してください。

関連する問題