我正在使用DTO,并且正在尝试返回Asp.net对象的列表。
这就是我所拥有的:
// 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集合中
GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;但是,当我将响应从服务器返回给客户端时,它以如下方式返回:
<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/>
发布于 2014-01-08 16:56:52
尝试在ApplicationDTO类上使用XmlTypeAttribute,而不是XmlRootAttribute
[DataContract(Namespace = "", Name = "application")]
[XmlType(TypeName = "application")]
public class ApplicationDTO
{
[DataMember(Name = "application-name")]
[XmlElement(ElementName = "application-name")]
public string ApplicationName { get; set; }
}https://stackoverflow.com/questions/20972814
复制相似问题