首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >序列化List<>的Asp.net Web API

序列化List<>的Asp.net Web API
EN

Stack Overflow用户
提问于 2014-01-07 21:25:19
回答 1查看 730关注 0票数 0

我正在使用DTO,并且正在尝试返回Asp.net对象的列表。

这就是我所拥有的:

代码语言:javascript
复制
// Wrapper
[DataContract(Namespace = "", Name = "get-applications-result")]
[XmlRoot(Namespace = "", ElementName = "get-applications-result")]
public class GetApplicationsResult : List<ApplicationDTO>
{

}

// DTO object
[DataContract(Namespace = "", Name = "application")]
[XmlRoot(Namespace = "", ElementName = "application")]
public class ApplicationDTO
{
    [DataMember(Name = "application-name")]
    [XmlElement(ElementName = "application-name")]
    public string ApplicationName { get; set; }
}

Global.asax I集合中

代码语言:javascript
复制
GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;

但是,当我将响应从服务器返回给客户端时,它以如下方式返回:

代码语言:javascript
复制
<get-applications-result xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <ApplicationDTO>
        <application-name>Application name</application-name>
    </ApplicationDTO>
</get-applications-result>

如何使<ApplicationDTO/>呈现为<application/>

EN

回答 1

Stack Overflow用户

发布于 2014-01-08 16:56:52

尝试在ApplicationDTO类上使用XmlTypeAttribute,而不是XmlRootAttribute

代码语言:javascript
复制
[DataContract(Namespace = "", Name = "application")]
[XmlType(TypeName = "application")]
public class ApplicationDTO
{
    [DataMember(Name = "application-name")]
    [XmlElement(ElementName = "application-name")]
    public string ApplicationName { get; set; }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20972814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档