가장 구조화되지 않은 형식으로 데이터를 공급해야하는 기존 시스템이 있습니다. 다음은 .NET DataContractSerializer
에서도 가능합니까?사용자 지정 속성이 추가되지 않은 CollectionDataContract serialization (DataMember)
<Options>
<Name>Juices</Name>
<Option Value="1">Orange Juice</Option>
<Option Value="2">Pineapple</Option>
<Option Value="3">Fruit Punch</Option>
</Options>
참고 : 이 레거시 시스템이 기대하고 정확하게하는 방법을 다음과 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</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를 변경할 수 있습니까? DataContract Serialization 대신 XML Serialization을 사용할 수 있습니까? – mellamokb
예, 할 수 있습니다. 그러나 나는 단지 그것이 더 새롭고 더 진보 된 DataContractSerializer로 가능했는지 알고 싶었다. – Tawani