2016-06-02 5 views
1

작동하지 I 스트링의 배열이 DataContract 가지고 :

<Cards> 
    <CardNumber>123123</CardNumber> 
</Cards> 

하지만 'I 읽으면서

[System.Xml.Serialization.XmlArrayAttribute(Order = 19)] 
[System.Xml.Serialization.XmlArrayItemAttribute("CardNumber", typeof(string), IsNullable = false)] 
[DataMember] 
public string[] Cards {get; set; } 

, 그것은 다음과 같이 직렬화되어야한다 아직도 받고 :

<Cards> 
    <string>123123</string> 
</Cards> 

무엇이 잘못 되었나요?

답변

1

CollectionDataContract 대신 사용할 수 있습니다. 먼저 , 클래스를 생성 :

[CollectionDataContract(ItemName="CardNumber")] 
public class CardsList : List<string> { } 

그리고는,이 라인을 교체 : 이로써

[DataMember] 
public string[] Cards {get; set; } 

을 :

[DataMember(Name="Cards")] 
public CardsList Cards {get; set; }; 

그것이 도움이되기를 바랍니다.

+0

감사합니다. 작동합니다. :) – Hashem