如何使用Web API从下面的xml响应中删除命名空间?
<ApiDivisionsResponse xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/GrassrootsHoops.Models.Api.Response"> <Divisions xmlns:d2p1="http://schemas.datacontract.org/2004/07/GrassrootsHoops.Data.Entities"> <d2p1:Page>1</d2p1:Page> <d2p1:PageSize>10</d2p1:PageSize> <d2p1:Results xmlns:d3p1="http://schemas.datacontract.org/2004/07/GrassrootsHoops.Models.Api.Response.Divisions"/> <d2p1:Total>0</d2p1:Total> </Divisions> </ApiDivisionsResponse>
解决方法
选项1是在GlobalConfiguration中切换到使用XmlSerializer:
config.Formatters.XmlFormatter.UseXmlSerializer = true;
选项2是用来装饰你的模型
[DataContract(Namespace="")]
(如果你这样做,你需要使用[DataMember]属性来装饰成员)。