Wie bekomme ich den XmlSerializer zu Kodieren bools als ja/Nein?

Ich bin senden von xml zu einem anderen Programm, die erwartet boolean-flags wie "ja" oder "Nein", statt "true" oder "false".

Habe ich eine Klasse definiert, wie:

[XmlRoot()]
public class Foo {
    public bool Bar { get; set; }
}

Wenn ich es zu serialisieren, meine Ausgabe sieht wie folgt aus:

<Foo><Bar>true</Bar></Foo>

Aber ich möchte es dies sein:

<Foo><Bar>yes</Bar></Foo>

Kann ich dies zum Zeitpunkt der Serialisierung? Ich würde es vorziehen, nicht zu haben, darauf zurückgreifen:

[XmlRoot()]
public class Foo {
    [XmlIgnore()]
    public bool Bar { get; set; }

    [XmlElement("Bar")]
    public string BarXml { get { return (Bar) ? "yes" : "no"; } }
}

Beachten Sie, dass ich auch in der Lage sein wollen Deserialisieren diese Daten wieder zurück.

InformationsquelleAutor Blorgbeard | 2009-03-09
Schreibe einen Kommentar