This is just way cool. Check out Eric White’s blog for a slick use of extension methods to make it easier to convert types in the System.Xml namespace to types in the System.Xml.Linq namespace , and vice-versa. Here’s a quick teaser: XElement e = new XElement( "Root" , new XElement( "Child" , new XAttribute( "Att" , "1" ) ) ); XmlNode xmlNode = e.GetXmlNode(); Console.WriteLine(xmlNode.OuterXml); XElement newElement = xmlNode.GetXElement(); Console.WriteLine(newElement); No, that code won’t compile on its own, you need to define the GetXElement and GetXmlNode methods as described in Eric White’s blog . It just wouldn’t be fair to post it here.
Go here to see the original:
Convert XElement to XmlNode (and Convert XmlNode to XElement)