2009-04-30 106 views
18

我有一個用DataContract屬性標記的類,我想從該類的對象創建一個XDocument。什麼是做這件事的最好方法?如何將對象序列化爲XDocument?

我可以通過一個XmlDocument來完成,但這看起來像是一個不必要的步驟。

+1

見第二個答案;我可能已經完全誤會了 – 2009-04-30 11:53:14

回答

37

您可以創建的XmlWriter直接進入的XDocument:

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

你是對的;我正在刪除我的回答 – 2009-04-30 11:52:14