Microsoft.AspNetCore.Mvc.Formatters.Xml.Extensions
10.0.0
dotnet add package Microsoft.AspNetCore.Mvc.Formatters.Xml.Extensions --version 10.0.0
NuGet\Install-Package Microsoft.AspNetCore.Mvc.Formatters.Xml.Extensions -Version 10.0.0
<PackageReference Include="Microsoft.AspNetCore.Mvc.Formatters.Xml.Extensions" Version="10.0.0" />
<PackageVersion Include="Microsoft.AspNetCore.Mvc.Formatters.Xml.Extensions" Version="10.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Formatters.Xml.Extensions" />
paket add Microsoft.AspNetCore.Mvc.Formatters.Xml.Extensions --version 10.0.0
#r "nuget: Microsoft.AspNetCore.Mvc.Formatters.Xml.Extensions, 10.0.0"
#:package Microsoft.AspNetCore.Mvc.Formatters.Xml.Extensions@10.0.0
#addin nuget:?package=Microsoft.AspNetCore.Mvc.Formatters.Xml.Extensions&version=10.0.0
#tool nuget:?package=Microsoft.AspNetCore.Mvc.Formatters.Xml.Extensions&version=10.0.0
ASP.NET Core MVC Xml formatter extensions
Version 10.x.x : supports only NetCore 10.0
Version 9.x.x : supports only NetCore 9.0
Version 8.x.x : supports only NetCore 8.0
Version 7.x.x : supports only NetCore 7.0
Version 6.x.x : supports only NetCore 6.0
Nuget Package:
https://www.nuget.org/packages/Microsoft.AspNetCore.Mvc.Formatters.Xml.Extensions
ASP.NET Core MVC Xml formatter's extensions allow:
- ASP.NET MVC Core Web Application controller actions to control the Xml serialization type.
- Avoid the ObjectResult limitation to use only one type of MVC Xml serializer per ASP.NET MVC Core Web Application.
- Satisfy all possible Xml JAVA REST Web API and Xml .NET REST Web API communication scenarios.
XmlResult
An Action result which formats the given object as Xml.
- The XmlResult is the similar feature to JsonResult in the project "Microsoft.AspNetCore.Mvc.Formatters.Json".
- The property "XmlSerializerType" of the XmlResult defines which one of the MVC Xml formatters to use either XmlSerializer or DataContractSerializer.
- It allows to return Xml formatted response with using the HTTP Response Body.
"FromXmlBody"
Specifies an action parameter or property that should be bound with using the HTTP request Xml body.
- The FromBodyXmlAttribute is the similar attribute to FromBodyAttribute in the project "Microsoft.AspNetCore.Mvc".
- The property "XmlSerializerType" of the FromBodyXmlAttribute defines which one of the MVC Xml formatters to use either XmlSerializer or DataContractSerializer.
Example of using in the application:
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
// "AddXmlFormaterExtensions()" initialize the Asp .Net Core MVC to use of XmlResult and FromXmlBody:
// - It adds the XmlSerializer and DataContractSerializer formatters to MVC.
// - It adds the XmlResult and FromXmlBody Extension to MVC.
services.AddMvc().AddXmlFormaterExtensions();
// or services.AddControllers().AddXmlFormaterExtensions().AddNewtonsoftJson();
}
XmlExtController.cs(Example):
/// <summary>
/// The Controller example of using of XmlResult and FromXmlBody.
/// It demonstrates how to define which of the Xml formatters DataContractSerializer
/// or/and XmlSerializer to use for input and output in the Web Application controller actions.
/// </summary>
[Route("api/[controller]")]
public class XmlExtController : Controller
{
// GET api/[controller]/xml
[HttpGet("xml")]
public ActionResult GetXmlObject()
{
object obj = new PurchaseOrder();
return new XmlResult(obj);
}
// GET api/[controller]/dcxml
[HttpGet("dcxml")]
public ActionResult GetDcXmlObject()
{
object obj = new PurchaseOrder();
return new XmlResult(obj) { XmlSerializerType = XmlSerializerType.DataContractSerializer };
}
// POST api/[controller]/xml
[HttpPost("xml")]
public void PostXml([FromXmlBody]PurchaseOrder value)
{
var x = value;
x.billTo.street += " 123";
}
// POST api/[controller]/dcxml
[HttpPost("dcxml")]
public void PostDcXml([FromXmlBody(XmlSerializerType = XmlSerializerType.DataContractSerializer)]PurchaseOrder value)
{
var x = value;
x.billTo.street += "No -10";
}
}
Where the Models:
[DataContract (Namespace ="http://puchase.Interface.org/Purchase.Order")]
public class PurchaseOrder
{
public PurchaseOrder()
{
billTo = new Address() { street = "Bill to Address" };
shipTo = new Address() { street = "Ship to Address" };
}
[DataMember]
public Address billTo;
[DataMember]
public Address shipTo;
}
[DataContract(Namespace = "http://puchase.Interface.org/Purchase.Order.Address")]
public class Address
{
[DataMember]
public string street;
}
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Microsoft.AspNetCore.Mvc.Formatters.Xml.Extensions:
| Package | Downloads |
|---|---|
|
EY.Common.NlogCoreLib
Package Description |
|
|
GraphQl.Extensions
GraphQl Extensions. Contains Xlsx output formatter, csv output formatter |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 10.0.0 | 444 | 12/7/2025 |
| 9.0.0 | 15,401 | 12/1/2024 |
| 8.0.0 | 69,205 | 11/18/2023 |
| 7.0.0 | 27,637 | 3/5/2023 |
| 6.0.0 | 97,077 | 11/14/2021 |
| 5.0.0 | 10,967 | 11/14/2020 |
| 3.1.0 | 778,889 | 1/11/2020 |
| 3.0.1 | 3,156 | 9/30/2019 |
| 2.2.0 | 59,320 | 12/11/2018 |
| 2.1.0 | 36,382 | 6/5/2018 |
| 2.0.0 | 20,241 | 8/28/2017 |
| 1.1.0.2 | 18,487 | 1/17/2017 |
Released for Microsoft.AspNetCore.App 10.0.0