Skip to content

Instantly share code, notes, and snippets.

@azcoov
Created November 29, 2011 22:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save azcoov/1406901 to your computer and use it in GitHub Desktop.
Save azcoov/1406901 to your computer and use it in GitHub Desktop.
ObjectToXElement
using System;
using System.IO;
using System.Xml;
using System.Xml.Linq;
using System.Xml.Serialization;
public static class GenericExtensions
{
public static XElement ToXElement<T>(this T obj)
{
try
{
var emptyNamespace = new XmlSerializerNamespaces();
emptyNamespace.Add(String.Empty, String.Empty);
var xmlSerializer = new XmlSerializer(typeof(T));
var writerSettings = new XmlWriterSettings {OmitXmlDeclaration = true};
var stringWriter = new StringWriter();
using (var xmlWriter = XmlWriter.Create(stringWriter, writerSettings))
{
xmlSerializer.Serialize(xmlWriter, obj, emptyNamespace);
}
return XElement.Parse(stringWriter.ToString());
}
catch (Exception)
{
return null;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment