You can convert a given !OpenXmlElement to a XElement using the following code: {{{#!highlight c# OpenXmlElement el = ...; // Code to get the xml element from your office doc. // Then use XElement.Parse and the OuterXml property. XElement xel = XElement.Parse(el.OuterXml); }}} To convert an XElement to an !OpenXmlElement try the following code: {{{#!highlight c# XElement xe = ...; using(StreamWriter sw = new StreamWriter(new MemoryStream())) { sw.Write(xe.ToString()); sw.Flush(); sw.BaseStream.Seek(0, SeekOrigin.Begin); OpenXmlReader re = OpenXmlReader.Create(sw.BaseStream); re.Read(); OpenXmlElement oxe = re.LoadCurrentElement(); re.Close(); } }}} Hope, this helps.