我需要使用来自Web服务的数据。我正在接收xml数据并使用它来通过属性设置器创建对象。
在一个特定情况下,对象的属性(称为“is_active”并指示对象在应用程序中是处于活动状态还是非活动状态)有时由
表示。<field type="BooleanField" name="is_active">1</field>
,其他时间由
<field type="BooleanField" name="is_active">True</field>
客户端代码要求我使用整数1和0来表示它。返回的字符串“True”或“False”会导致System.FormatException,如预期的那样。
处理这种情况最优雅的方式是什么?
感谢。
答案 0 :(得分:1)
您在使用什么来处理数据?由于这显然是自定义序列化,看起来你应该能够调整“BooleanField”处理来处理这两个...
IMO,但是你没有按照预期的方式使用xml ...将它指定为元素/属性会更容易,比如XmlSerializer
将如何(实际上 - 为什么不使用{{1} }):
XmlSerializer
或
<isActive>true</isActive>
请注意,true / false的xml标准是小写的......
此外;如果您使用<foo ... isActive="true" ... />
- 您只需更改转换器:
TypeConverter