Einfacher Weg zu serialisieren C# - Klasse als XML-text

Während der Versuch einer Antwort auf eine andere Frage, ich war serialisieren ein C# - Objekt in eine XML-Zeichenfolge. Es war überraschend schwer; das war der kürzeste code-snippet, das ich kommen konnte mit:

var yourList = new List<int>() { 1, 2, 3 };
var ms = new MemoryStream();
var xtw = new XmlTextWriter(ms, Encoding.UTF8);
var xs = new XmlSerializer(yourList.GetType());
xs.Serialize(xtw, yourList);
var encoding = new UTF8Encoding();
string xmlEncodedList = encoding.GetString(ms.GetBuffer());

Das Ergebnis ist okay:

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfInt
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <int>1</int>
    <int>2</int>
    <int>3</int>
</ArrayOfInt>

Aber das snippet ist mehr kompliziert als ich denke, dass es sein sollte. Ich kann nicht glauben, Sie müssen wissen über Kodierung und MemoryStream für diese einfache Aufgabe.

Gibt es einen kürzeren Weg zum serialisieren eines Objekts in einen XML-string?

InformationsquelleAutor Andomar | 2009-11-15
Schreibe einen Kommentar