私は、XMLデータを返す必要がありますウェブAPIメソッドを持っていますが、それは文字列を返します。Web APIメソッドからXMLデータを返す方法
public class HealthCheckController : ApiController
{
[HttpGet]
public string Index()
{
var healthCheckReport = new HealthCheckReport();
return healthCheckReport.ToXml();
}
}
それが返されます。
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">
<myroot><mynode></mynode></myroot>
</string>
と、私はこのマッピングを追加しました:
config.Routes.MapHttpRoute(
name: "HealthCheck",
routeTemplate: "healthcheck",
defaults: new
{
controller = "HealthCheck",
action = "Index"
});
をxmlビットだけを返す方法:
<myroot><mynode></mynode></myroot>
私はMVCを使用していた、私は以下を使用している可能性が、ウェブAPIは、「コンテンツ」をサポートしていない場合:私はWebApiConfigクラスに以下のコードをもを追加した
[HttpGet]
public ActionResult Index()
{
var healthCheckReport = new HealthCheckReport();
return Content(healthCheckReport.ToXml(), "text/xml");
}
:
config.Formatters.Remove(config.Formatters.JsonFormatter);
config.Formatters.XmlFormatter.UseXmlSerializer = true;
あなただけHealthCheckReportインスタンスを返し、XMLフォーマッタシリアル化をやらせることができます?今は、コントローラのXMLにシリアル化してから、その文字列をXMLフォーマッタに渡しています。 XMLフォーマッタは、文字列をXMLにシリアル化します。 –