1

我需要比较两个 Word 文件并将所有插入内容合并到第三个文件中。我已经设法使用 OpenXML-Power-Tools 和 WmlCompare 做到这一点,但我如何只拒绝删除?

接受插入很容易,OpenXmlPowerTools.RevisionAccepter但我无法拒绝删除工作,这样我就可以在没有修改的情况下获得合并文件。

我应该采用这种方法还是您会建议不同的方法?

规则是:

  • 1) 可以在文件中的任何位置添加文本。
  • 2)文本总是添加到文件中,从不删除。
  • 3) 文件具有 .docx 文件扩展名
4

1 回答 1

3

拒绝或撤消删除相对容易。因此,假设您有以下示例段落,其中一个w:del元素包含一个已删除的w:r元素。

<w:p>
  <w:r>
    <w:t xml:space="preserve">This is </w:t>
  </w:r>
  <w:del w:id="0" w:author="Thomas Barnekow" w:date="2020-02-16T14:37:00Z">
    <w:r>
      <w:delText xml:space="preserve">deleted </w:delText>
    </w:r>
  </w:del>
  <w:r>
    <w:t>text.</w:t>
  </w:r>
</w:p>

要拒绝删除,您需要解开已删除的内容w:r并再次将其w:delText转为 a w:t。如果没有任何进一步的处理(见下文),您拒绝删除的结果将如下所示:

<w:p>
  <w:r>
    <w:t xml:space="preserve">This is </w:t>
  </w:r>
  <w:r>
    <w:t xml:space="preserve">deleted </w:delText>
  </w:r>
  <w:r>
    <w:t>text.</w:t>
  </w:r>
</w:p>

作为可选步骤,使用MarkupSimplifierOpen XML PowerTools,您还可以合并具有相同格式的相邻运行,这将产生以下标记:

<w:p>
  <w:r>
    <w:t>This is deleted text.</w:t>
  </w:r>
</w:p>
于 2020-02-16T13:49:57.633 回答