节点逐节点XML序列化

时间:2014-05-25 15:25:07

标签: c# xml xml-serialization

我需要写出一个XML,其中元素的顺序很重要(我意识到XML格式可能不适合在这里使用,但是......)。我需要这样的东西:

<Author>
<Book>
<Author>
<Book>

底层类的元素如下:

Author[] Author;
Book[] Book;

我计划在Book和Author类上有一个索引值,并使用它来写出XML。

我想要找到的是,如果有一种简单的方法可以将类逐个序列化为XML。我查看了XmlWriter,但看起来它只能用于在非常基本的级别编写XML(即没有序列化支持)。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果您不想使用内置的序列化例程(有时您不想这样做,因为您的结构可能会发生变化,随着时间的推移,随着时间的推移,使用这些例程变得越来越难),获取目标的简便方法是创建 XmlDocument ,然后使用 XmlDocument.CreateNode 为文档创建XML节点,根据需要向节点添加属性,然后使用 XmlDocument.AppendChild 将节点添加到文档中(或者当您深入了解结构时,使用 XmlNode.AppendChild )。最后,使用 XmlDocument.Save 将结构写入文件(或内存或此时要用它做的任何事情)。

Microsoft System.Xml命名空间文档非常好,请查看大量示例,然后编写快速测试程序以验证您从示例中学到了什么。