0

我有一批 XML 和 SGML 文档(大约 7000 个)。我想要将它们转换为结构化 Microsoft Word 文档的东西。我已经在网上阅读了 2 天关于如何做到这一点的内容,并且比我开始时更加困惑。

我看到您可以使用 Open XML SDK 和 C# 使用 Visual Studio 创建它,通过这里的答案:StackOverflow 答案,它链接到这个Using XSLT and Open XML SDK。然而,这是7年前的事了。我不确定这是否仍然是最新的,我不知道这绝对是我需要的。

还有我要转换的文件,标签本身是瑞典语。所以我猜我需要一些东西来阅读标签并将其转换为英文,然后将其转换为 Word XML 格式。

我可以用 C# 和 C++ 编写,如果需要的话,我可能会想办法绕过大多数脚本语言,但是从代码创建 word 文档的经验为零。我知道我可能需要制作 DTD 或 XSLT 并可能使用 Word XML(我在过去 2 天中了解了这些),并在某些 Visual Studio 项目中使用它。

但是我不知道如何实际去做。有人可以引导我朝着正确的方向前进吗?

谢谢

4

1 回答 1

1

这个话题非常广泛,不能用一篇文章来详细回答......

您找到的 7 年前的信息仍然具有相关性和有效性。自 97 以来的所有 Word 版本都可以使用该文件格式(2003 年及更早版本需要“兼容包”,但大多数已更新的机器都会有)。2007 年以后的版本也可以使用 7 年前所述的文件格式,但这不包括 2013/2016 年引入的新功能。这可以毫无问题地添加,您只是不会在旧文档中找到这些类,但它们都在 MSDN 和当前的 ECMA 规范中。

乍一看并不明显的棘手部分在于,Word Open XML 文档实际上是多个 XML 和二进制文件的 ZIP 包,不能直接转换。正如 Eric White 所解释的那样,您最好直接使用 OPC“平面文件”格式,而不是仅依赖于您找到的 SO Q&A 中的链接:http: //blogs.msdn.com/b/ ericwhite/archive/2008/09/29/the-flat-opc-format.aspx

您使用 XSLT 生成的内容应该是这种格式。这需要转换为 ZIP 包,以便使用 Open XML SDK 进行任何进一步的工作(并使用 2.5 版,而不是 7 年前的 2.0 版)。Eric White 的文章提供了转换信息,这将有所帮助。

这项任务绝对不会是微不足道的,因为 Word 是一个非常复杂的野兽。如果这些文档集有共同点,您可以通过手动将 Word UI 中的(部分)“转换”为所需结果来加快进度。保存并在 Open XML Productivity Tool 中查看它,您可以在其中查看基础 Word Open XML(以及生成所需的 Open XML SDK 代码)。这应该可以帮助您使用 Word Open XML 标记“映射”原始标记。

于 2015-10-22T17:12:09.807 回答