OpenXml: преобразование XElement в OpenXmlElement - PullRequest
5 голосов
/ 07 декабря 2011

Как бы я мог преобразовать XElement в OpenXmlElement?Либо мой google-fu не работает, либо это не было решено.

1 Ответ

10 голосов
/ 08 декабря 2011

Вы можете преобразовать данный OpenXmlElement в 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);

Чтобы преобразовать 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();
}

Надеюсь, это поможет.

...