XML序列化问题 - 对象将序列化但不反序列化某些属性

时间:2015-06-30 20:31:41

标签: c# xml serialization

我有一个相当复杂的业务对象,我似乎遇到了麻烦。该对象将序列化而没有任何问题,我可以转到它序列化的XML文件,并看到这些值确实存储在文件中。但是,当我尝试反序列化对象时,所讨论的属性不会包含其保存的值,它们是字符串,因此它们以String.Empty值的形式出现。该对象具有许多属性,其中大多数都可以正常工作,但我有一组String属性似乎卡住了。实施例

[Serializable]
public class Foo
{
   public String NameWorking { get; set; }
   public String TitleNotWorking { get; set; }
   ...
}

当我序列化为" obj.xml"并用记事本打开所述文件,我可以看到节点NameValue和节点TitleValue,这对于序列化是正确的,但是当我跟踪调试时," obj.xml"对文件进行反序列化,生成的Foo对象具有NameWorking的正确值,但只有String.Empty用于TitleNotWorking。是否存在可能导致此问题的某种错误?有解决方法吗? 另外,我不知道这是否是问题的一部分,但所讨论的属性是应用程序中的数据绑定属性。但所有其他工作属性也是如此。

1 个答案:

答案 0 :(得分:1)

您需要XML Element

在你的情况下,它将是以下

[Serializable]
public class Foo
{
   [XmlElement]
   public String NameWorking { get; set; }

   [XmlElement]
   public String TitleNotWorking { get; set; }
   ...
}