[英]Asp.net Web API Serializing List<>
我正在使用Asp.net Web Api,並且試圖返回DTO對象的列表。
這就是我所擁有的:
// 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
我設置了
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/>
?
嘗試在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; }
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.