我想序列化一些對象,其中一些成員變量的類型爲string
並且值爲null
。 我使用下面的代碼:XmlTextWriter和空字符串
var writer = new XmlTextWriter(stream, Encoding.UTF8);
writer.Formatting = Formatting.Indented;
var s = new XmlSerializer(typeof(model.GetType()));
s.Serialize(writer, model);
與價值null
琴絃不會出現在XML文件(這顯然是預期的行爲),雖然我不希望出現這種情況。 如何通過覆蓋XmlTextWriter
類來使null
字符串出現在Xml文件中?
編輯:我不能修改需要序列化的對象模型,所以Xml屬性是沒有選擇。
感謝您的回答。我無法修改對象模型,因此我無法使用此解決方案。我編輯了我的問題來包含這個約束。 – thumbmunkeys
@ x0r:在你的對象集合上循環並用String.Empty替換null項不是解決方案,對吧? – Marco
這將是一個解決方案!儘管它不是一個對象集合,而是一個對象樹。因此您需要使用反射來遍歷樹,遍歷所有成員變量並設置這些「空」字符串。 – thumbmunkeys