3
我正在将一些XML反序列化到我的类中,这一切都正常工作。我想要发生的是,如果XML不包含我的一个类属性的元素,而不是将该属性设置为null,那么我希望它等于String.Empty。XML反序列化丢失元素
例如,这是XML:
<Person>
<Title>Mr</Title>
<FullName>John Smith</FullName>
</Person>
这是类:
[XmlRoot("Person")]
public sealed class PersonObject
{
[XmlElement("Title")]
public string NamePrefix { get; set; }
[XmlElement("FullName")]
public string FullName { get; set; }
[XmlElement("JobTitle")]
public string JobTitle { get; set; }
}
目前,如果我deserialise到这个对象,JOBTITLE设置为null。我希望将其设置为空字符串,就像我在XML中传递JobTitle时一样,但将值设置为空。
是否有可能使用序列化方法的某种属性来做到这一点?
至于我可以告诉你大概会必须创建一个从'XmlElementAttribute'继承的自定义属性才能完成。我不得不问,为什么'null'很重要?你不能在你的代码中处理它吗? – Yuck
在我称之为的Web服务方法中,它不处理空值,我宁愿不必做一些混乱的替换。我知道哪些字段可能为空,因为我在不同的XML输入中共享模式。 – Mark