2011-11-14 7 views
2

私は、Visual Studioのxsd.exeを使ってXML文書から作成したオブジェクトを持っています。各プロパティ/属性を手動で設定することなく、このオブジェクトのインスタンスにXMLドキュメントの内容を設定する方法はありますか?例えばXMLにLinqを使って自動的にオブジェクトを設定する

XElement doc = XElement.Parse(docStr); 
var results = from e in doc.Elements("myobj") 
       select new MyObj { prop1 = (string) e.Attribute("prop1") }; 

私は、文書自体からMyObjを生成してきたが、それらの多くがあるとき、このドキュメント内のすべてのプロパティを設定すると、かなり冗長になります。 Linqにそれ自体を働かせるための方法はありますか?

答えて

2

あなたは(質問ごと)xsd.exeを経由してタイプを作成した場合は、これを行う方法はXmlSerializerである:

var ser = new XmlSerializer(typeof(MyObj)); 
var obj = (MyObj)ser.Deserialize(source); 

あなた試してみて、LINQツーXMLでそれを行うが、可能性があり非常に小さな目的のために実際にXmlSerializerを再実装するでしょう。

関連する問題