Tôi đang gửi xml đến một chương trình khác, dự kiến cờ boolean là "có" hoặc "không", thay vì "true" hoặc "false".Làm thế nào tôi có thể nhận XmlSerializer để mã hóa các bool là có/không?
Tôi đã một lớp được định nghĩa như sau:
[XmlRoot()]
public class Foo {
public bool Bar { get; set; }
}
Khi tôi serialize nó, đầu ra của tôi trông như thế này:
<Foo><Bar>true</Bar></Foo>
Nhưng tôi muốn nó là thế này:
<Foo><Bar>yes</Bar></Foo>
Tôi có thể làm điều này tại thời điểm serialization không? Tôi không muốn phải nghỉ mát để này:
[XmlRoot()]
public class Foo {
[XmlIgnore()]
public bool Bar { get; set; }
[XmlElement("Bar")]
public string BarXml { get { return (Bar) ? "yes" : "no"; } }
}
Lưu ý rằng tôi cũng muốn để có thể deserialize dữ liệu này lại một lần nữa.
Đáng yêu, chỉ là những gì tôi đang tìm kiếm. Cảm ơn. –
bạn có thể làm điều đó như thế quá: enum công BoolEnum { [XmlEnum ("không")] False = 0, [XmlEnum ("yes")] Đúng = 1 } – Sauleil