OpenXml:将XElement转换为OpenXmlElement

emd*_*emd 5 c# openxml openxml-sdk

我怎么去转换XElementOpenXmlElement?要么我的google-fu失败了,要么就没有解决.

Han*_*ans 10

您可以使用以下代码将给定转换OpenXmlElement为a XElement:

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);
Run Code Online (Sandbox Code Playgroud)

要将XElement转换为OpenXmlElement,请尝试以下代码:

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();
}
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助.