2009-04-30 62 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