我需要从我的MVC api响应中删除xsd和xsi名称空间,但我无法使其工作。 (我需要删除它们的原因是因为我们将它发送给第三方地图提供程序,如果你包含它们它就不起作用。)我已经阅读了许多其他问题,例如{{3}这是问同样的事情,但答案不起作用,我已经尝试按照this实现自定义格式化程序,但遗憾的是没有运气。有谁知道我需要做什么?我应该放弃并使用处理程序吗?
型号:
[XmlType(TypeName = "MapPoints")]
[XmlRoot(DataType = "", Namespace = "http://tempuri.org/XMLFile1.xsd")]
public class MapPointList
{
public MapPointList()
{
Points = new List<MapPoint>();
}
[XmlElement("Point")]
public List<MapPoint> Points { get; set; }
}
控制器:
public class MyController : ApiController
{
public MyController()
{
var xmlFormatter = GlobalConfiguration.Configuration.Formatters.XmlFormatter;
xmlFormatter.SetSerializer<MapPointList>(new XmlSerializer(typeof (MapPointList)));
xmlFormatter.SetSerializer<MapPoint>(new XmlSerializer(typeof (MapPoint)));
}
[HttpGet]
public MapPointList SearchMap()
{
var items = new MapPointList();
// get the items
return items;
}
}
我的根应该是这样的:
<MapPoints xmlns="http://tempuri.org/XMLFile1.xsd">
如果我需要添加更多信息,请与我们联系。