Ben bir xml verilerini dönmelidir bir Web Api yöntemine sahip ama dize döndürür:Web API'sı Yönteminden Xml Verileri nasıl iade edilir?
public class HealthCheckController : ApiController
{
[HttpGet]
public string Index()
{
var healthCheckReport = new HealthCheckReport();
return healthCheckReport.ToXml();
}
}
Bu döndürür:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
<myroot><mynode></mynode></myroot>
</string>
ve ben bu eşleştirmeyi ekledik:
config.Routes.MapHttpRoute(
name: "HealthCheck",
routeTemplate: "healthcheck",
defaults: new
{
controller = "HealthCheck",
action = "Index"
});
Sadece xml bitlerini döndürür nasıl yapılır:
<myroot><mynode></mynode></myroot>
Sadece MVC kullanarak olsaydı, ben aşağıda kullanıyor olabilir ancak Web API "İçerik" desteklemez:
config.Formatters.Remove(config.Formatters.JsonFormatter);
config.Formatters.XmlFormatter.UseXmlSerializer = true;
:
[HttpGet]
public ActionResult Index()
{
var healthCheckReport = new HealthCheckReport();
return Content(healthCheckReport.ToXml(), "text/xml");
}
Ben de WebApiConfig sınıfına aşağıdaki kodları eklemiş
sadece HealthCheckReport örneğini iade ve XML biçimlendirici seri yapalım Can ? Şu anda, denetleyicinizde XML'e serileştiriyorsunuz ve bu dizeyi XML biçimlendiricisine geçiriyorsunuz. Sonra XML biçimlendirici dizeyi XML'ye serileştirir. –