Я пытаюсь обработать несколько документов документов путем
- объединения их и их с
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 для последовательной дальнейшей обработки.
I 'используя OpenXmlPowerTools версии 4.5.3.2