向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) 编辑 收藏 举报