如何将对象序列化为XDocument?

我有一个标有DataContract属性的类,我想从该类的对象创建一个XDocument。 这是最好的方法吗?

我可以通过XmlDocument来实现,但这似乎是一个不必要的步骤。

您可以直接在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());