私は現在、ServiceStackで次のことを行って、いくつかのxmlをサーバーにポストバックしています。
<Server xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<UserName>Bob</UserName>
<UserGroups xmlns:d3p1="http://schemas.microsoft.com/2003/10/Serialization/Arrays">
<d3p1:string>History</d3p1:string>
<d3p1:string>Geography</d3p1:string>
</UserGroups>
</Server>
上記は機能しますが、これを次のように行うにはどうすればよいですか。
<Server xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<UserName>Bob</UserName>
<UserGroups>
<UserGroup>History</UserGroup>
<UserGroup>Geography</UserGroup>
</UserGroups>
</Server>
私が試してみました:
[CollectionDataContract(ItemName = "UserGroup")]
public partial class ArrayOfStringUserGroup : List<string>
{
public ArrayOfStringUserGroup()
{
}
public ArrayOfStringUserGroup(IEnumerable<string> collection) : base(collection) { }
public ArrayOfStringUserGroup(params string[] args) : base(args) { }
}
投稿の私のdtoには次のものがあります:
[DataMember(Name = "UserGroups", Order = 3)]
public ArrayOfStringUserGroup UserGroups { get; set; }
しかし、UserGroupsをUserGroupDtoの空の配列として取得します。