从XML转换为Microsoft Word Doc

时间:2015-10-22 08:44:39

标签: xml ms-word converter sgml

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

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

我正在转换的文件,标签本身都是瑞典语。所以我猜我需要阅读并将标签转换为英文,然后将其转换为Word XML格式。

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

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

由于

1 个答案:

答案 0 :(得分:1)

这个主题非常广泛,单个帖子无法真正详细解答......

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

乍一看并不明显的棘手部分来自这样一个事实:Word Open XML文档实际上是一个包含多个XML和二进制文件的ZIP包,无法直接转换。您不必仅仅依赖于您发现的SO Q& A中的链接,而是可以更好地查看直接使用OPC“平面文件”格式,如Eric White所述: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标记“映射”原始标记。