Я отправляю xml в другую программу, которая ожидает, что логические флаги будут "да" или "нет", а не "истина" или "ложь".
У меня есть класс, определенный как:
[XmlRoot()]
public class Foo {
public bool Bar { get; set; }
}
Когда я сериализую его, мой вывод выглядит следующим образом:
<Foo><Bar>true</Bar></Foo>
Но я хотел бы, чтобы это было так:
<Foo><Bar>yes</Bar></Foo>
Могу ли я сделать это во время сериализации? Я бы предпочел не прибегать к этому:
[XmlRoot()]
public class Foo {
[XmlIgnore()]
public bool Bar { get; set; }
[XmlElement("Bar")]
public string BarXml { get { return (Bar) ? "yes" : "no"; } }
}
Обратите внимание, что я также хочу иметь возможность десериализовать эти данные снова.