2011-02-15 52 views
12

所以,我的實體類(用C#編寫)遵循一個父子模型,其中每個子對象都必須有一個Parent屬性,並在其中保持其父對象的引用。是否可以使用循環引用來執行序列化?

由於循環引用,此Parent屬性導致對象序列化中的問題。

我不能刪除提及父母,無論是我可以將其標記XmlIgnore(因爲我需要閱讀它回來時,我反序列化XML)

在這個任何想法?

回答

11

XML序列化不支持循環引用,您需要使用XmlIgnore屬性從序列化中排除父屬性。當您反序列化時,請參閱this blog post以維護關係。可以使用DataContractSerializer而不是XmlSerializer。它支持循環引用,但不能提供對XML模式的太多控制...

+0

不錯的博客文章。嘗試你的榜樣。 – 2011-02-15 14:01:20

11

您可以創建自己的XMLSerializer或使用DataContractSerializer[DataContract(IsReference= true)]屬性告訴串行記住引用。

+1

感謝您的迴應,任何帶有一段代碼的示例都會增加更多幫助。 :) – 2011-02-15 13:50:51

相關問題