gpt4 book ai didi

.net - 忽略 DataContractSerializer 中的字段顺序

转载 作者:行者123 更新时间:2023-12-03 10:16:39 25 4
gpt4 key购买 nike

反序列化时,DataContractSerializer 不仅要求元素名称匹配,而且要求它相对于其他元素按特定顺序排列。

我的应用程序是这样的,每个字段都可以通过其名称唯一标识。因此,我希望 XML 文件能够以任何顺序包含元素并且反序列化器仍然可以工作。

是否可以像这样设置 DataContract?

Data Member Order中的介绍性段落建议该命令是可选的,但我还没有找到一种方法来实际使它可选。

后续问题 :Simple data file versioning with DataContractSerializer

最佳答案

不,这不是可选的。显式指定排序是可选的,否则顺序由您链接到的基本规则决定(首先是基本类型,字母,...)。

介绍性段落只是暗示您并不总是需要了解或关心订单 - 例如,如果您使用的是生成的代理。

如果您使用 DataContractSerializer 反序列化文件,我能想到的最佳解决方案是在反序列化之前使用 XSLT 将其转换为正确的顺序。

如果您正在调用 Web 服务(DataContractSerializer 的设计目的),您最好坚持契约(Contract)中的顺序。

关于.net - 忽略 DataContractSerializer 中的字段顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1513525/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com