XML Serialization code example
Example: XML Serialization
///
/// Converts an object to its serialized XML format.
///
/// The type of object we are operating on
/// The object we are operating on
/// Whether or not to remove the default XML namespaces from the output
/// Whether or not to omit the XML declaration from the output
/// The character encoding to use
/// The XML string representation of the object
public static string ToXmlString(this T value, bool removeDefaultXmlNamespaces = true, bool omitXmlDeclaration = true, Encoding encoding = null) where T : class
{
XmlSerializerNamespaces namespaces = removeDefaultXmlNamespaces ? new XmlSerializerNamespaces(new[] { XmlQualifiedName.Empty }) : null;
var settings = new XmlWriterSettings();
settings.Indent = true;
settings.OmitXmlDeclaration = omitXmlDeclaration;
settings.CheckCharacters = false;
using (var stream = new StringWriterWithEncoding(encoding))
using (var writer = XmlWriter.Create(stream, settings))
{
var serializer = new XmlSerializer(value.GetType());
serializer.Serialize(writer, value, namespaces);
return stream.ToString();
}
}