【发布时间】:2011-01-30 21:47:06
【问题描述】:
有人知道为什么 NetDataContractSerializer 可能会在序列化集合中添加“nil”条目吗?
例如,
<Jobs z:Id="17">
<_items z:Id="18" z:Size="4">
<JobRecord z:Id="19">
<Name z:Id="20">Job1</Name>
</JobRecord>
<JobRecord i:nil="true" />
<JobRecord i:nil="true" />
<JobRecord i:nil="true" />
</_items>
<_size>1</_size>
<_version>2</_version>
</Jobs>
请注意三个额外的“JobRecord”条目和附加元素“嘿,我知道这里有四个节点,但其中只有一个意味着什么。”
这似乎是一种奇怪的行为。好的,所以我可以看到 NDCS 深入到对象图中,并且可能正在使用一个大小大于被序列化的项目数的支持数组(想想一个列表的支持数组)。
这是怎么回事?它是构造函数创建的用于处理yield return(这是 JobRecord 的来源)的类的工件吗?
【问题讨论】:
-
你能显示序列化它的代码吗?您提到“收益回报”,但不清楚这与此 XML 有何关系。
标签: .net xml null netdatacontractserializer xml-nil