我正在尝试将xml文件序列化为一个元素可以为空的类

XML文件

  <Status StatusId="1">
    <StatusName>Not inspected</StatusName>
    <Acute></Acute>
  </Status>
  <Status StatusId="2">
    <StatusName>Acute</StatusName>
    <Acute>1</Acute>
  </Status>


班级

 private int _acute;
         public int Acute
         {
             get { return _acute; }
             set
             {
                   _acute = value;
                    NotifyPropertyChanged("Acute");

             }
         }


我尝试过int吗?和[XmlElement( IsNullable = true )],但是任何人都知道如何在没有任何错误的情况下以空元素读取。

最佳答案

尝试将Acute设为int?。整数不能包含null,可以为null的整数(int?s)可以。

编辑:自我说明-回应前请阅读所有内容。

也许您的问题是<Acute>实际上并没有从XML中丢失,而是存在,但是具有空值,这不会转换为任何int吗?尝试从XML中删除<Acute></Acute>行,并将属性更改回int吗? 。

关于c# - 反序列化空值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9523929/

10-10 18:51