Как мне сериализовать объект в XDocument? - PullRequest
19 голосов
/ 30 апреля 2009

У меня есть класс, помеченный атрибутами DataContract, и я хотел бы создать XDocument из объектов этого класса. Каков наилучший способ сделать это?

Я могу сделать это, используя XmlDocument, но это кажется ненужным шагом.

1 Ответ

42 голосов
/ 30 апреля 2009

Вы можете создать 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());
...