如何使用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]属性来装饰成员)。