相关疑难解决方法(0)

如何让XmlSerializer将bool编码为是/否?

我正在将xml发送到另一个程序,它希望布尔标志为"是"或"否",而不是"真"或"假".

我有一个类定义如下:

[XmlRoot()]
public class Foo {
    public bool Bar { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

当我序列化它时,我的输出如下所示:

<Foo><Bar>true</Bar></Foo>
Run Code Online (Sandbox Code Playgroud)

但我希望它是这样的:

<Foo><Bar>yes</Bar></Foo>
Run Code Online (Sandbox Code Playgroud)

我可以在序列化时这样做吗?我宁愿不必诉诸于此:

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

    [XmlElement("Bar")]
    public string BarXml { get { return (Bar) ? "yes" : "no"; } }
}
Run Code Online (Sandbox Code Playgroud)

请注意,我还希望能够再次反序列化此数据.

c# boolean xml-serialization

15
推荐指数
2
解决办法
6784
查看次数

XmlSerializer可以反序列化为Nullable <int>吗?

我想反序列化包含可以标记nil="true"为具有类型属性的类的元素的XML消息int?.我能让它工作的唯一方法是编写我自己的NullableInt实现类型IXmlSerializable.有没有更好的方法呢?

我写了完整的问题以及我在博客上解决它的方式.

nullable xml-serialization xml-nil

8
推荐指数
1
解决办法
8670
查看次数

标签 统计

xml-serialization ×2

boolean ×1

c# ×1

nullable ×1

xml-nil ×1