# System.Xml.Serialization ``` diff +namespace System.Xml.Serialization { + public interface IXmlSerializable { + XmlSchema GetSchema(); + void ReadXml(XmlReader reader); + void WriteXml(XmlWriter writer); + } + public class XmlAnyAttributeAttribute : Attribute { + public XmlAnyAttributeAttribute(); + } + public class XmlAnyElementAttribute : Attribute { + public XmlAnyElementAttribute(); + public XmlAnyElementAttribute(string name); + public XmlAnyElementAttribute(string name, string ns); + public string Name { get; set; } + public string Namespace { get; set; } + public int Order { get; set; } + } + public class XmlAnyElementAttributes : ICollection, IEnumerable, IList { + public XmlAnyElementAttributes(); + public int Count { get; } + bool System.Collections.ICollection.IsSynchronized { get; } + object System.Collections.ICollection.SyncRoot { get; } + bool System.Collections.IList.IsFixedSize { get; } + bool System.Collections.IList.IsReadOnly { get; } + object System.Collections.IList.this[int index] { get; set; } + public XmlAnyElementAttribute this[int index] { get; set; } + public int Add(XmlAnyElementAttribute attribute); + public void Clear(); + public bool Contains(XmlAnyElementAttribute attribute); + public void CopyTo(XmlAnyElementAttribute[] array, int index); + public IEnumerator GetEnumerator(); + public int IndexOf(XmlAnyElementAttribute attribute); + public void Insert(int index, XmlAnyElementAttribute attribute); + public void Remove(XmlAnyElementAttribute attribute); + public void RemoveAt(int index); + void System.Collections.ICollection.CopyTo(Array array, int index); + int System.Collections.IList.Add(object value); + bool System.Collections.IList.Contains(object value); + int System.Collections.IList.IndexOf(object value); + void System.Collections.IList.Insert(int index, object value); + void System.Collections.IList.Remove(object value); + } + public class XmlArrayAttribute : Attribute { + public XmlArrayAttribute(); + public XmlArrayAttribute(string elementName); + public string ElementName { get; set; } + public XmlSchemaForm Form { get; set; } + public bool IsNullable { get; set; } + public string Namespace { get; set; } + public int Order { get; set; } + } + public class XmlArrayItemAttribute : Attribute { + public XmlArrayItemAttribute(); + public XmlArrayItemAttribute(string elementName); + public XmlArrayItemAttribute(string elementName, Type type); + public XmlArrayItemAttribute(Type type); + public string DataType { get; set; } + public string ElementName { get; set; } + public XmlSchemaForm Form { get; set; } + public bool IsNullable { get; set; } + public string Namespace { get; set; } + public int NestingLevel { get; set; } + public Type Type { get; set; } + } + public class XmlArrayItemAttributes : ICollection, IEnumerable, IList { + public XmlArrayItemAttributes(); + public int Count { get; } + bool System.Collections.ICollection.IsSynchronized { get; } + object System.Collections.ICollection.SyncRoot { get; } + bool System.Collections.IList.IsFixedSize { get; } + bool System.Collections.IList.IsReadOnly { get; } + object System.Collections.IList.this[int index] { get; set; } + public XmlArrayItemAttribute this[int index] { get; set; } + public int Add(XmlArrayItemAttribute attribute); + public void Clear(); + public bool Contains(XmlArrayItemAttribute attribute); + public void CopyTo(XmlArrayItemAttribute[] array, int index); + public IEnumerator GetEnumerator(); + public int IndexOf(XmlArrayItemAttribute attribute); + public void Insert(int index, XmlArrayItemAttribute attribute); + public void Remove(XmlArrayItemAttribute attribute); + public void RemoveAt(int index); + void System.Collections.ICollection.CopyTo(Array array, int index); + int System.Collections.IList.Add(object value); + bool System.Collections.IList.Contains(object value); + int System.Collections.IList.IndexOf(object value); + void System.Collections.IList.Insert(int index, object value); + void System.Collections.IList.Remove(object value); + } + public class XmlAttributeAttribute : Attribute { + public XmlAttributeAttribute(); + public XmlAttributeAttribute(string attributeName); + public XmlAttributeAttribute(string attributeName, Type type); + public XmlAttributeAttribute(Type type); + public string AttributeName { get; set; } + public string DataType { get; set; } + public XmlSchemaForm Form { get; set; } + public string Namespace { get; set; } + public Type Type { get; set; } + } + public class XmlAttributeOverrides { + public XmlAttributeOverrides(); + public XmlAttributes this[Type type, string member] { get; } + public XmlAttributes this[Type type] { get; } + public void Add(Type type, string member, XmlAttributes attributes); + public void Add(Type type, XmlAttributes attributes); + } + public class XmlAttributes { + public XmlAttributes(); + public XmlAnyAttributeAttribute XmlAnyAttribute { get; set; } + public XmlAnyElementAttributes XmlAnyElements { get; } + public XmlArrayAttribute XmlArray { get; set; } + public XmlArrayItemAttributes XmlArrayItems { get; } + public XmlAttributeAttribute XmlAttribute { get; set; } + public XmlChoiceIdentifierAttribute XmlChoiceIdentifier { get; } + public object XmlDefaultValue { get; set; } + public XmlElementAttributes XmlElements { get; } + public XmlEnumAttribute XmlEnum { get; set; } + public bool XmlIgnore { get; set; } + public bool Xmlns { get; set; } + public XmlRootAttribute XmlRoot { get; set; } + public XmlTextAttribute XmlText { get; set; } + public XmlTypeAttribute XmlType { get; set; } + } + public class XmlChoiceIdentifierAttribute : Attribute { + public XmlChoiceIdentifierAttribute(); + public XmlChoiceIdentifierAttribute(string name); + public string MemberName { get; set; } + } + public class XmlElementAttribute : Attribute { + public XmlElementAttribute(); + public XmlElementAttribute(string elementName); + public XmlElementAttribute(string elementName, Type type); + public XmlElementAttribute(Type type); + public string DataType { get; set; } + public string ElementName { get; set; } + public XmlSchemaForm Form { get; set; } + public bool IsNullable { get; set; } + public string Namespace { get; set; } + public int Order { get; set; } + public Type Type { get; set; } + } + public class XmlElementAttributes : ICollection, IEnumerable, IList { + public XmlElementAttributes(); + public int Count { get; } + bool System.Collections.ICollection.IsSynchronized { get; } + object System.Collections.ICollection.SyncRoot { get; } + bool System.Collections.IList.IsFixedSize { get; } + bool System.Collections.IList.IsReadOnly { get; } + object System.Collections.IList.this[int index] { get; set; } + public XmlElementAttribute this[int index] { get; set; } + public int Add(XmlElementAttribute attribute); + public void Clear(); + public bool Contains(XmlElementAttribute attribute); + public void CopyTo(XmlElementAttribute[] array, int index); + public IEnumerator GetEnumerator(); + public int IndexOf(XmlElementAttribute attribute); + public void Insert(int index, XmlElementAttribute attribute); + public void Remove(XmlElementAttribute attribute); + public void RemoveAt(int index); + void System.Collections.ICollection.CopyTo(Array array, int index); + int System.Collections.IList.Add(object value); + bool System.Collections.IList.Contains(object value); + int System.Collections.IList.IndexOf(object value); + void System.Collections.IList.Insert(int index, object value); + void System.Collections.IList.Remove(object value); + } + public class XmlEnumAttribute : Attribute { + public XmlEnumAttribute(); + public XmlEnumAttribute(string name); + public string Name { get; set; } + } + public class XmlIgnoreAttribute : Attribute { + public XmlIgnoreAttribute(); + } + public class XmlIncludeAttribute : Attribute { + public XmlIncludeAttribute(Type type); + public Type Type { get; set; } + } + public class XmlNamespaceDeclarationsAttribute : Attribute { + public XmlNamespaceDeclarationsAttribute(); + } + public class XmlRootAttribute : Attribute { + public XmlRootAttribute(); + public XmlRootAttribute(string elementName); + public string DataType { get; set; } + public string ElementName { get; set; } + public bool IsNullable { get; set; } + public string Namespace { get; set; } + } + public sealed class XmlSchemaProviderAttribute : Attribute { + public XmlSchemaProviderAttribute(string methodName); + public bool IsAny { get; set; } + public string MethodName { get; } + } + public class XmlSerializer { + protected XmlSerializer(); + public XmlSerializer(Type type); + public XmlSerializer(Type type, string defaultNamespace); + public XmlSerializer(Type type, Type[] extraTypes); + public XmlSerializer(Type type, XmlAttributeOverrides overrides); + public XmlSerializer(Type type, XmlAttributeOverrides overrides, Type[] extraTypes, XmlRootAttribute root, string defaultNamespace); + public XmlSerializer(Type type, XmlRootAttribute root); + public virtual bool CanDeserialize(XmlReader xmlReader); + public object Deserialize(Stream stream); + public object Deserialize(TextReader textReader); + public object Deserialize(XmlReader xmlReader); + public static XmlSerializer[] FromTypes(Type[] types); + public void Serialize(Stream stream, object o); + public void Serialize(Stream stream, object o, XmlSerializerNamespaces namespaces); + public void Serialize(TextWriter textWriter, object o); + public void Serialize(TextWriter textWriter, object o, XmlSerializerNamespaces namespaces); + public void Serialize(XmlWriter xmlWriter, object o); + public void Serialize(XmlWriter xmlWriter, object o, XmlSerializerNamespaces namespaces); + } + public class XmlSerializerNamespaces { + public XmlSerializerNamespaces(); + public XmlSerializerNamespaces(XmlSerializerNamespaces namespaces); + public XmlSerializerNamespaces(XmlQualifiedName[] namespaces); + public int Count { get; } + public void Add(string prefix, string ns); + public XmlQualifiedName[] ToArray(); + } + public class XmlTextAttribute : Attribute { + public XmlTextAttribute(); + public XmlTextAttribute(Type type); + public string DataType { get; set; } + public Type Type { get; set; } + } + public class XmlTypeAttribute : Attribute { + public XmlTypeAttribute(); + public XmlTypeAttribute(string typeName); + public bool AnonymousType { get; set; } + public bool IncludeInSchema { get; set; } + public string Namespace { get; set; } + public string TypeName { get; set; } + } +} ```