Как обновить WmlDocument из OpenXMLRegex

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

  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 для последовательной дальнейшей обработки.

Я использую OpenXmlPowerTools версии 4.5.3.2

0 ответов

Другие вопросы по тегам