我遇到了我认为可能是我的代码设计的主要问题,我希望这里有人可以向我解释我将如何解决该问题。

我有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甚至没有序列化公共字段。

10-08 01:16