Как обновить WmlDocument из OpenXMLRegex - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь обработать несколько документов документов путем

  1. объединения их и их с OpenXMLPowerTools.DocumentBuilder (что требует и выводит WmlDocuments)
  2. Удалить все комментарии через OpenXMLRegex.Replace

Каждый из этих шагов прекрасно работает независимо.Однако OpenXMLRegex требует и изменяет IEnumberable<System.Xml.Linq.XElement>.Проблема возникает при отображении этого перечислимого обратно в WmlDocument.

Нельзя установить элементы WmlDocument или MainDocumentPart.
Здесь приведен пример здесь , для изменения DocumentFormat.OpenXml.Packaging.WordProcessingDocument.Однако я также не могу найти способ сопоставить это обратно с WmlDocument.

WmlDocument RemoveComments(WmlDocument doc)
{
    Regex regex = new Regex(@"/\*([^/\*])*\*/");
    string commentArtifact = "";

    List<XElement> matches = new List<XElement>();
    var docElements = doc.MainDocumentPart.Elements();
    OpenXmlRegex.Replace(docElements, regex, commentArtifact, null);

    //TODO: How to map back to WmlDocument
    return doc;
}

Я бы настоятельно предпочел вывести измененный WmlDocument для последовательной дальнейшей обработки.

I 'используя OpenXmlPowerTools версии 4.5.3.2

...