我尝试将单个XML文件转换为DOCX文件,我是通过使用XSLT将XML转换为XHTML,然后在MS Word上打开XHTML并将其保存为DOCX来实现的。
但我的任务是将任何XML结构(DITA,TEI,DocBook等)直接转换为DOCX ...还有其他方法吗?
我找不到任何相关资料。它始终是DOCX到XML而不是相反。
答案 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。