一个C# xml 序列化错误
事发现场:
xml序列化的数据中存储的节点数据是
<Module>536870912</Module> (xml文件中)
对应的类属性是
public short Module { get; set; } (C#类中)
public short Module { get; set; } (C#类中)
序列化的代码:
调试时会弹出异常信息:
An unhandled exception of type 'System.InvalidOperationException' occurred in FMTimeSeriesDefinition.exe
Additional information: There is an error in XML document (293, 8).
找到xml文件的293行第8列:
292: <Module>536870912</Module>
293: <DurationPeriodsFlag>1</DurationPeriodsFlag>
294: <DecimalFlag>0</DecimalFlag>
293: <DurationPeriodsFlag>1</DurationPeriodsFlag>
294: <DecimalFlag>0</DecimalFlag>
是一个"<"标记符,看不出问题,再看前一个节点,突然发现536870912 存入short中,数据溢出。
将short改为int,问题解决。