在C#中没有值的序列化属性

时间:2014-07-17 21:40:56

标签: c# wcf xml-serialization

我正在开发WCF服务,我们的团队希望能够从合同中序列化无值属性。例如,xml看起来像这样:

<Payload>
  <Options all></Options>
</Payload>

正如您所见,所有仅作为属性传递,仅在用户需要所有选项时才会传递。如果未提供所有值,则不会提供所有值。

这将是对所有选项的请求进行总结的方式,而不是对特定选项的请求

<Payload>
  <OptionList>
    <Option>option 1</Option>
    <Option>option 2</Option>
  </OptionList>
</Payload>

我目前有一个Option数据合约如下:

[CollectionDataContract(ItemName="Option", Name="OptionList", Namespace="")]
public class OptionListV1:List<string>, IExtensibleDataObject
{
    public ExtensionDataObject ExtensionData { get; set; }
}

我知道有XmlSerializerFormat属性,但我很难确定是否可以使用XmlSerializer序列化无值属性。

有什么想法吗?

TL; DR:我想将布尔属性序列化/反序列化为无值属性。

更新如果您认为这是一个重复的问题,请回答问题并提供现有问题的链接。

0 个答案:

没有答案