我有一个相当复杂的业务对象,我似乎遇到了麻烦。该对象将序列化而没有任何问题,我可以转到它序列化的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。是否存在可能导致此问题的某种错误?有解决方法吗? 另外,我不知道这是否是问题的一部分,但所讨论的属性是应用程序中的数据绑定属性。但所有其他工作属性也是如此。
答案 0 :(得分:1)
您需要XML Element
在你的情况下,它将是以下
[Serializable]
public class Foo
{
[XmlElement]
public String NameWorking { get; set; }
[XmlElement]
public String TitleNotWorking { get; set; }
...
}