1

我正在使用 C# 将字符串反序列化回对象。xml 字符串看起来像

"<Authentication xmlns:i=\"http://www.w3.org/2001/XMLSchema-instance\">
  <Status>Success</Status>
  <Available i:nil=\"true\"/>
</Authentication>"

虽然我设法通过使 bool 属性为空来处理 Available ,但我只是想知道处理 i:nil=\"true\" 的正确方法是什么?

除了使属性可用属性可以为空之外,我还应该做其他事情吗?

请注意,如果不使 bool 属性可以为空,它会给我一个错误,即字符串“”不能转换为 bool,因此可以为 null 排序我的问题,但我只是好奇我是否应该做的不仅仅是让这个可以为空的

谢谢。

4

1 回答 1

0

您的属性应该可以为空。XML 明确告诉您该属性可以是truefalsenull; 这 3 个是有效值,您的班级应该支持所有 3 个。

bool?除了使您的财产成为;之外,您不需要做任何事情 当XmlSerializer属性i:nil="true"null.

只需确保您的代码旨在考虑适用的null值,这样您就不会遇到异常。

于 2013-08-26T13:08:08.103 回答