2012-08-14 49 views
-3

我有一个关于XML序列化和反序列化的问题。序列化类是否必须与XML完全相同?订单可以不同吗?XML序列化和反序列化 - 节点

如果XML只有一个节点,那么这个类会有什么结果呢?

如果我有许多不同的XML以不同的XML结构进来,我该如何在序列化类中处理这种不同的结构?

感谢

+0

这个问题太泛泛了 - 你应该添加一些XML和你的类的例子。 – MiMo 2012-08-14 14:09:53

+1

这些是你可以很容易地发现自己的东西 - 通过编写测试代码来尝试。我可以建议优秀的工具LINQPad吗? =) – 2012-08-14 14:11:09

+1

一般来说,当您尝试自己做某件事情时,会出现一个很好的问题,并且您在某个时间点卡住了。亲身体验一下,告诉我们你无法工作。 – mydogisbox 2012-08-14 14:13:41

回答

2

类属性真的没有排序,所以在XML节点的顺序没有任何特别的意义 - 它可以是任何东西。

如果XML中缺少一个节点,则相应的类属性将不会被设置 - 因此它将具有其默认值或类构造函数将其设置为的任何值。

不同的XML结构可以由同一个类来处理,虽然有一些限制 - 没有具体的例子,它很难说。

1

的顺序并不重要,只要你的属性,字段等,正确地匹配了与XML节点。另外,如果xml有一个较少的节点,那么该属性将不会获得反序列化的值,就这些了。

结构非常重要,但不是顺序。这是一个相当广泛的问题,但我建议你阅读它并看看一些例子。

看看这些让你开始了一下。

http://msdn.microsoft.com/en-us/library/tz8csy73.aspx

http://msdn.microsoft.com/en-us/library/58a18dwa(v=vs.100).aspx