直接将单个XML文件转换为DOCX

时间:2016-07-11 02:02:28

标签: xml xslt openxml docx

我尝试将单个XML文件转换为DOCX文件,我是通过使用XSLT将XML转换为XHTML,然后在MS Word上打开XHTML并将其保存为DOCX来实现的。

但我的任务是将任何XML结构(DITA,TEI,DocBook等)直接转换为DOCX ...还有其他方法吗?

我找不到任何相关资料。它始终是DOCX到XML而不是相反。

1 个答案:

答案 0 :(得分:2)

是的,您可以使用XSLT从任何这些XML格式转换为OOXML。 XSLT是XML到XML转换的理想选择。

也就是说,您提到的每种输入XML格式都相当复杂,而OOXML非常复杂。此外,DOCX实际上是许多组件的集合,包括OOXML中的document.xml文件,通过Open Packaging Conventions打包。

首先,我建议您定位一个首先在MS Word中手动创建的简单文档。将文件从.docx扩展名重命名为.zip扩展名,然后解压缩组件并恢复word/document.xml文件。制作一个简单的XSLT程序,以便按照原始word/document.xml文件中的字体输出OOXML。然后,慢慢添加一些自定义。完成后,将生成的word/document.xml文件重新插入解压缩的程序集,重新压缩,将扩展名重命名为.docx,并且您已根据请求将XML直接转换为DOCX。

有关详细信息,请参阅Using XSLT and Open XML to Create a Word 2007 Document