Вы также можете сделать это так: public enum BoolEnum {[XmlEnum ("no")] False = 0, [XmlEnum ("yes")] True = 1}

равляю 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"; } }
}

Обратите внимание, что я также хочу иметь возможностьDeserialize эти данные снова.

Ответы на вопрос(1)

Ваш ответ на вопрос