Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Serialization XML中的ServiceStack序列化列表_Serialization_Deserialization_Datacontractserializer_<img Src="//i.stack.imgur.com/WM7S8.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">servicestack - Fatal编程技术网 servicestack,Serialization,Deserialization,Datacontractserializer,servicestack" /> servicestack,Serialization,Deserialization,Datacontractserializer,servicestack" />

Serialization XML中的ServiceStack序列化列表

Serialization XML中的ServiceStack序列化列表,serialization,deserialization,datacontractserializer,servicestack,Serialization,Deserialization,Datacontractserializer,servicestack,我有一个预定义的xml示例,它定义了请求和响应,我唯一无法使用ServiceStack.Text.XmlSerializer的部分是下面的代码片段,它基本上是一个字符串列表 <user> .... <EmailPreferences> <EmailProgram>Newsletter</EmailProgram> <EmailProgram>Coupons</EmailProgram&g

我有一个预定义的xml示例,它定义了请求和响应,我唯一无法使用
ServiceStack.Text.XmlSerializer
的部分是下面的代码片段,它基本上是一个字符串列表

<user>
....
    <EmailPreferences> 
        <EmailProgram>Newsletter</EmailProgram> 
        <EmailProgram>Coupons</EmailProgram> 
    </EmailPreferences> 

....
新闻稿
优惠券

我尝试使用该示例,但正如标题所示,这并不影响xml序列化。

ServiceStack在后台使用.NET的xml DataContractSerializer。因此,您可以使用它支持的任何定制来装饰模型。因此,要获得类似上述内容,您可以:

[CollectionDataContract(Name="EmailPreferences", ItemName="EmailProgram")]
public class EmailPreferences : List<string>
{
    public EmailPreferences() { }
    public EmailPreferences(IEnumerable<string> collection) : base(collection){}
}

太棒了,谢谢,你是个传奇人物。:-,我想我会用“DataContractSerializer”来标记这个问题,因为答案同样适用于两者。
[assembly: ContractNamespace("http://schemas.servicestack.net/types",  
    ClrNamespace = "ServiceStack.Examples.ServiceModel.Operations")]
[assembly: ContractNamespace("http://schemas.servicestack.net/types",  
   ClrNamespace = "ServiceStack.Examples.ServiceModel.Types")]