XML Serialize boolean as 0 and 1
XML模式第2部分规定,定义为布尔值的数据类型的实例可以具有以下合法文字{true,false,1,0}。
但是,当我将对象序列化回XML时,得到的是 您也可以通过使用一些XmlSerializer属性黑魔法来做到这一点:
如果您对此成员不满意,还可以使用其他属性将其隐藏于智能感知中!这不是一个完美的解决方案,但是比实现IXmlSerializable更快。 您可以实现IXmlSerializable,它将允许您随意更改类的序列化输出。这将需要创建3个方法GetSchema(),ReadXml(XmlReader r)和WriteXml(XmlWriter r)。实现接口时,将调用这些方法,而不是.NET尝试序列化对象本身。 可以在以下位置找到示例: http://www.developerfusion.co.uk/show/4639/和 http://msdn.microsoft.com/zh-CN/library/system.xml.serialization.ixmlserializable.aspx 不,不使用默认的System.Xml.XmlSerializer:您需要将数据类型更改为int才能实现此目的,或者搞乱提供自己的序列化代码(可能,但不太有趣)。 但是,您当然可以简单地对生成的XML进行后处理,而不是使用XSLT或简单地使用字符串替换。在开发时间和运行时间上都有点骇人听闻,但是很快。 |