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