向XML中写入Boolean值时需注意大小写

今天给一个类实现了IXmlSerializable接口,手动控制其xml序列化和反序列化,然而遇到了一点点小问题。一个bool值在序列化后,反序列化时抛了异常,称其不能转换为有效的Boolean值。

原因是,.NET的Boolean.ToString()得到的是"True"或"False",而根据w3c的规定,Boolean值应记为"true"或"false"。所以,在写入xml前,必须首先ToLower()一下。

微软在.NET 3.5版的MSDN中有提到此问题:http://goo.gl/7rgY

目前尚不知道是否还有其他类似情况。

posted on 2010-03-04 01:25  Gildor Wang  阅读(713)  评论(0编辑  收藏  举报

导航