Ejemplo n.º 1
0
        public async Task ShouldDeserializeFromXmlAsync()
        {
            var serializerSettings = new XmlContentSerializerSettings {
                XmlNamespaces = new XmlSerializerNamespaces()
            };
            var sut = new XmlContentSerializer(serializerSettings);

            var dto = await sut.DeserializeAsync <Dto>(new StringContent("<Dto><Identifier>123</Identifier></Dto>"));

            Assert.Equal("123", dto.Identifier);
        }
Ejemplo n.º 2
0
        public async Task ShouldSerializeToXmlUsingNamespaceOverrides()
        {
            const string prefix = "google";

            var dto = BuildDto();
            var serializerSettings = new XmlContentSerializerSettings {
                XmlNamespaces = new XmlSerializerNamespaces()
            };

            serializerSettings.XmlNamespaces.Add(prefix, "https://google.com");
            var sut = new XmlContentSerializer(serializerSettings);

            var content  = sut.ToHttpContent(dto);
            var document = new XmlDocument();

            document.LoadXml(await content.ReadAsStringAsync());

            Assert.Equal(prefix, document["Dto"]?["Name", "https://google.com"]?.Prefix);
        }
Ejemplo n.º 3
0
        public async Task ShouldSerializeToXmlUsingAttributeOverrides()
        {
            const string overridenRootElementName = "dto-ex";

            var dto = BuildDto();
            var serializerSettings = new XmlContentSerializerSettings();
            var attributes         = new XmlAttributes {
                XmlRoot = new XmlRootAttribute(overridenRootElementName)
            };

            serializerSettings.XmlAttributeOverrides.Add(dto.GetType(), attributes);
            var sut = new XmlContentSerializer(serializerSettings);

            var content  = sut.ToHttpContent(dto);
            var document = new XmlDocument();

            document.LoadXml(await content.ReadAsStringAsync());

            Assert.Equal(overridenRootElementName, document.DocumentElement?.Name);
        }
Ejemplo n.º 4
0
        public async Task XmlEncodingShouldMatchWriterSettingAsync()
        {
            var encoding           = Encoding.UTF32;
            var serializerSettings = new XmlContentSerializerSettings
            {
                XmlReaderWriterSettings = new XmlReaderWriterSettings()
                {
                    WriterSettings = new XmlWriterSettings()
                    {
                        Encoding = encoding
                    }
                }
            };
            var sut = new XmlContentSerializer(serializerSettings);

            var dto              = BuildDto();
            var content          = sut.ToHttpContent(dto);
            var xml              = XDocument.Parse(await content.ReadAsStringAsync());
            var documentEncoding = xml.Declaration.Encoding;

            Assert.Equal(encoding.WebName, documentEncoding);
        }
Ejemplo n.º 5
0
 public XmlContentSerializer(XmlContentSerializerSettings settings)
 {
     this.settings = settings ?? throw new ArgumentNullException(nameof(settings));
 }