// Copyright (c) .NET Foundation. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using Microsoft.AspNet.Mvc.ModelBinding.Metadata; using Microsoft.Framework.OptionsModel; namespace Microsoft.AspNet.Mvc.Formatters.Xml.Internal { /// /// A implementation which will add the /// data contract serializer formatters to . /// public class MvcXmlDataContractSerializerMvcOptionsSetup : ConfigureOptions { /// /// Creates a new instance of . /// public MvcXmlDataContractSerializerMvcOptionsSetup() : base(ConfigureMvc) { } /// /// Adds the data contract serializer formatters to . /// /// The . public static void ConfigureMvc(MvcOptions options) { options.ModelMetadataDetailsProviders.Add(new DataMemberRequiredBindingMetadataProvider()); options.OutputFormatters.Add(new XmlDataContractSerializerOutputFormatter()); options.InputFormatters.Add(new XmlDataContractSerializerInputFormatter()); options.ValidationExcludeFilters.Add(typeFullName: "System.Xml.Linq.XObject"); options.ValidationExcludeFilters.Add(typeFullName: "System.Xml.XmlNode"); } } }