.NET API Reference

XmlSerializationException Class

The XmlSerializationException class represents errors that occur during XML serialization or deserialization.

Namespace: System.Xml

Assembly: System.Xml.dll

Inheritance

System.Object → System.Exception → System.Xml.XmlSerializationException

Constructors

  • XmlSerializationException()
  • XmlSerializationException(string message)
  • XmlSerializationException(string message, Exception innerException)

Properties

  • Message – Gets a message that describes the current exception.
  • InnerException – The exception that caused the current exception.
  • StackTrace – Gets a string representation of the immediate frames on the call stack.

Remarks

The XmlSerializationException is thrown when the XmlSerializer encounters an error that it cannot automatically resolve. Typical scenarios include:

  • Missing parameterless constructors on a type being serialized.
  • Incorrect use of [XmlIgnore] or other serialization attributes.
  • Invalid XML format that does not match the expected structure.

When catching this exception, inspect the InnerException property for more detailed information.

Example

The following example demonstrates how to catch an XmlSerializationException when deserializing an XML file.

using System;
using System.IO;
using System.Xml.Serialization;

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

class Program
{
    static void Main()
    {
        string xml = "<Person><Name>John</Name><Age>Thirty</Age></Person>";

        try
        {
            var serializer = new XmlSerializer(typeof(Person));
            using var reader = new StringReader(xml);
            var person = (Person)serializer.Deserialize(reader);
        }
        catch (XmlSerializationException ex)
        {
            Console.WriteLine($"Serialization error: {ex.Message}");
            if (ex.InnerException != null)
                Console.WriteLine($"Inner exception: {ex.InnerException.Message}");
        }
    }
}

See Also