2009-04-30 7 views
18

Ich habe eine Klasse, die mit DataContract-Attributen markiert ist, und ich möchte ein XDocument aus Objekten dieser Klasse erstellen. Was ist der beste Weg, dies zu tun?Wie serialisiere ich ein Objekt in ein XDocument?

Ich kann es tun, indem Sie über ein XmlDocument gehen, aber das scheint wie ein unnötiger Schritt.

+1

die zweite Antwort Siehe; Vielleicht habe ich mich komplett geirrt –

Antwort

37

Sie einen XmlWriter direkt in die XDocument erstellen:

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

Sie haben Recht; Ich entferne meine Antwort –

+1

hmm ... es scheint, dass ich eine akzeptierte Antwort nicht löschen kann ... Ich werde einen Kommentar zum OP stattdessen hinzufügen ... –

+1

-1 Großer Schritt in die richtige Richtung, aber fehlt als eine vollständige Antwort auf die Frage. Könnten Sie die eigentliche Serialisierung in das XDocument einbeziehen? – Levitikon

Verwandte Themen