我有两个对象 - 书和书架。
class Book
{
}
class Shelf
{
}
正如你所看到的,它们不是内在的。
如何序列化它们,以便我得到如下所示的xml:
<Book bookAttribute="">
<Shelf>bla</Shelf>
<Shelf>bla1</Shelf>
</Book>
答案 0 :(得分:0)
我将在这里采取一个解决方案,并假设你给出的信息需要这样的类结构:
class Book
{
[XmlAttribute("bookAttribute")]
public string bookAttribute = "";
[XmlElement("Shelf")]
List<Shelf> Shelves = new List<Shelf>();
}
class Shelf
{
}
然后当你创建一本书和书架之间的程序关系时(这对我来说似乎很落后 - 但我不知道整个场景是什么)你可以在“保存”例程中循环它以将其写为XML
如果无法修改原始结构,您仍然可以从中派生类:
class ExpandedBook: Book
{
[XmlAttribute("bookAttribute")]
public string bookAttribute = "";
[XmlElement("Shelf")]
List<Shelf> Shelves = new List<Shelf>();
}
...除非密封了类,否则你将不得不创建丑陋的数组数组。