2009-04-30 27 views
18

DataContract属性でマークされたクラスがあり、そのクラスのオブジェクトからXDocumentを作成したいと考えています。これを行う最善の方法は何ですか?オブジェクトをXDocumentにシリアル化するにはどうすればよいですか?

私はXmlDocument経由で行うことができますが、これは不要な手順のようです。

+1

は、第二の回答を参照してください。私は完全に間違っているかもしれません –

答えて

37

あなたはXDocumentに直接のXmlWriterを作成することができます。

XDocument doc = new XDocument(); 
using (var writer = doc.CreateWriter()) 
{ 
    // write xml into the writer 
    var serializer = new DataContractSerializer(objectToSerialize.GetType()); 
    serializer.WriteObject(writer, objectToSerialize); 
} 
Console.WriteLine(doc.ToString()); 
+2

あなたは正しいです;私は私の答えを削除しています –

+1

うん...それは私が受け入れられた答えを削除することはできないようです...代わりにOPにコメントを追加します... –

+1

-1正しい方向に大きなステップが、その質問に対する完全な答え。 XDocumentへの実際のシリアライゼーションをカバーできますか? – Levitikon

関連する問題