我正在开发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:我想将布尔属性序列化/反序列化为无值属性。
更新如果您认为这是一个重复的问题,请回答问题并提供现有问题的链接。