Com o passar dos dias a necessidade de manipular arquivos XML só vem crescendo e com isso nos deparamos com os padrões de objeto LINQ to XML ou DOM e a necessidade de conversão entre eles. Abaixo vou listar alguns tipos de conversões que podem ser úteis no dia a dia.
Converter XElement para XMLNode / Convert XElement to XMLNode
       public XmlNode ConverteToXmlNode(XElement xeElement)
       {
           using (XmlReader xmlReader = xeElement.CreateReader())
           {
               XmlDocument xmlDoc = new XmlDocument();
               xmlDoc.Load(xmlReader);
               return xmlDoc;
           }
       }
Converter XDocument para XMLNode / Convert XDocument to XMLNode
       public XmlNode ConverteToXmlNode(XDocument xeDocument)
       {
           using (XmlReader xmlReader = xeDocument.CreateReader())
           {
               XmlDocument xmlDoc = new XmlDocument();
               xmlDoc.Load(xmlReader);
               return xmlDoc;
           }
       }
Converter XMLDocument para XDocument / Convert XMLDocument to XDocument
       XDocument xdRetornoSefaz = XDocument.Parse(varXmlDocument.OuterXml);
Converter XMLNode para XMLDocument / Convert XMLNode to XMLDocument
       XmlDocument varXmlDocument = new XmlDocument();
       varXmlDocument.LoadXml(varXmlNode.OuterXml);