C# 反序列化文件时出现格式错误

C# 反序列化文件时出现格式错误,c#,xml,C#,Xml,我的应用程序连接到两个不同的服务器,这两个服务器以xml格式返回一个响应,作为字符串。然后我将字符串反序列化为一个对象。这在服务器1上运行良好。但是当我从服务器2接收xml字符串时,它失败了。响应xml的唯一区别是标记。Server1将标记返回为0,其中server2返回空值。尝试对此进行反序列化时,失败: 从SERVER2的XML响应中提取 <PaymentFreq>000</PaymentFreq> <Availa

我的应用程序连接到两个不同的服务器,这两个服务器以xml格式返回一个响应,作为字符串。然后我将字符串反序列化为一个对象。这在服务器1上运行良好。但是当我从服务器2接收xml字符串时,它失败了。响应xml的唯一区别是
标记。Server1将标记返回为
0
,其中server2返回空值
。尝试对此进行反序列化时,失败:

从SERVER2的XML响应中提取

            <PaymentFreq>000</PaymentFreq>
            <AvailableBalance>
                <Amt>0.00</Amt>
            </AvailableBalance>
            <AcctBranch>629</AcctBranch>
            <OAR />
例外情况:

{“输入字符串的格式不正确。”}

XML文档(13028)中有错误

在System.Number.StringToNumber(字符串str,NumberStyles选项, NumberBuffer&number,NumberFormatInfo信息,布尔解析小数)
在System.Number.ParseInt32(字符串s,NumberStyles样式, System.Xml.XmlConvert.ToInt32(字符串s)中的NumberFormatInfo(格式信息)
在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderAccountListInqRsCIF.Read31_AcctSimType(布尔值 isNullable,Boolean checkType)位于 Microsoft.Xml.Serialization.GenerateAssembly.XmlSerializationReaderAccountListInqRsCIF.Read32_AcctListInqRsCIF(布尔值 isNullable,布尔检查类型)


我使用默认的DefaultValueAttribute解决了这个问题:

[DefaultValueAttribute(0)]
public int OAR
{
    get { return this.OARField; }
    set { this.OARField = value; }
}

XML文件的第3028行中有什么内容?您试图反序列化到的类是什么?这可能是本地化问题吗?xml包含小数点,但由于本地化设置,需要小数点?@FaNIX,您的类是什么?它接受空值吗?如果可能,用它更新你的问题。
[DefaultValueAttribute(0)]
public int OAR
{
    get { return this.OARField; }
    set { this.OARField = value; }
}