我遇到了我认为可能是我的代码设计的主要问题,我希望这里有人可以向我解释我将如何解决该问题。
我有2个类,每个类具有创建循环引用的其他类的属性。我计划序列化这些类,并使用XSLT格式化输出,但是我假设由于循环引用,这将失败。
例
public class Book
{
public BookShop TheShop = new BookShop();
}
public class BookShop
{
list<Book> Books = new list<Book>();
}
因此,在此示例中,每本书将在bookShop中,并且每本书店将有很多书。如果我对书店进行序列化,它将依次对每本书进行序列化,然后对书店进行序列化等等。我该如何处理?
最佳答案
用属性标记TheShop
以防止其序列化。[XmlIgnore]
和默认的序列化器。
http://www.codeproject.com/KB/XML/GameCatalog.aspx
可能只是示例问题,而不是真正的代码问题:不要使用公共字段,而要使用属性。我认为XmlSerializer
甚至没有序列化公共字段。