Как обновить WmlDocument из OpenXMLRegex
Я пытаюсь обработать несколько документов по словам
- объединяя их и их с
OpenXMLPowerTools.DocumentBuilder
(который требует и выводит WmlDocuments) - Удалить все комментарии через
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