我已经遵循了我想要反序列化的XML代码:
<a>
<b> n/a </b>
</a>
现在b通常是整数,但有时“n / a”不可用。每当我反序列化上面的XML时,我得到一个异常,我使用了错误的格式......什么是正确的。 但我需要int只是一个空值
public class a
{
Nullable<int> b;
}
答案 0 :(得分:1)
你能做到的唯一方法是使用类似的东西:
[XmlIgnore]
public int? B {get;set;}
public bool ShouldSerializeBSerialized() {
return B.HasValue;
}
[XmlElement("b")]
public string BSerialized {
get { return B.ToString(); }
set {
int tmp;
if(value != null && int.TryParse(value.Trim(), out tmp))
{
B = tmp;
}
}
}
下面:
B
是我们用来存储数据的int?
BSerialized
是一个处理解析等的填充属性ShouldSerializeBSerialized
确保我们只序列化有效数据答案 1 :(得分:0)
看看下面的内容: