我們有一個遺留系統,需要以非結構化格式提供(XML)數據。 .NET DataContractSerializer
以下甚至可能嗎?CollectionDataDataContract序列化不添加自定義屬性(DataMember)
鑑於以下DataContracts
[CollectionDataContract(Name = "Options", ItemName = "Option")]
public class OptionItemCollection : List<OptionItem>
{
[DataMember(Name = "Name")]
public string Name { get; set; }
public OptionItemCollection()
{
}
public OptionItemCollection(IEnumerable<OptionItem> items) : base(items)
{
}
}
[DataContract(Name = "Option")]
public class OptionItem
{
[DataMember]
public string Text { get; set; }
[DataMember]
public string Value { get; set; }
}
是否有可能直接序列化這個集合爲以下XML表示:
<Options>
<Name>Juices</Name>
<Option Value="1">Orange Juice</Option>
<Option Value="2">Pineapple</Option>
<Option Value="3">Fruit Punch</Option>
</Options>
注: 這究竟是怎麼遺留系統期望要提交的數據。
甚至:
<Options>
<Name>Juices</Name>
<Option><Value>1</Value><Text>Orange Juice</Text></Option>
<Option><Value>2</Value><Text>Pineapple</Text></Option>
<Option><Value>3</Value><Text>Fruit Punch</Text></Option>
</Options>
還要注意該強調的是名稱和居住的選項元素中選項元素。
您是否允許更改DataContracts?您是否允許使用XML序列化而不是DataContract序列化? – mellamokb
是的,我們可以。但我只是想知道[更新和更高級的] DataContractSerializer是否可行 – Tawani