1
我有一个相当复杂的业务对象,我似乎遇到了麻烦。该对象将序列化没有问题,我可以去到它被序列化到的XML文件,并看到值确实存储在文件中。但是,当我尝试反序列化对象时,有问题的属性不会保存值,它们是字符串,所以它们以String.Empty值的形式出现。该对象有很多属性,其中大部分都没有问题,但我有这样一组字符串属性,似乎被卡住了。例如XML序列化问题 - 对象将序列化但不反序列化一些属性
[Serializable]
public class Foo
{
public String NameWorking { get; set; }
public String TitleNotWorking { get; set; }
...
}
当我序列化到“obj.xml”,并用记事本打开所述文件,我可以看到节点NameValue和节点TitleValue,这是正确的序列化,但是当我跟踪调试,当“obj.xml”文件被反序列化,得到的Foo对象具有NameWorking的正确值,但对于TitleNotWorking只具有String.Empty。是否有某种可能导致此问题的错误?有没有解决方法? 此外,我不知道这是否是问题的一部分,但有问题的属性是应用程序中的数据绑定属性。但所有其他的工作特性也是如此。
奇怪,因为我有在工作,没有XMLAttribute标签其他字符串属性,但我会尝试并看看它是否有任何影响。谢谢! – Wanabrutbeer
@Wanabrutbeer它可能也是'XmlElement',我不完全确定哪个 – Ramie
添加元素名称[XmlElement(“TitleNotWorking”)]。确保名称拼写正确,大小写字母正确。类中的对象名称不必与XML文件中的标签匹配。 XmlElement中的名称用于交叉引用标签和类名称。 – jdweng