将docX转换为自定义XML
我一直在尝试将我的docX文件转换为我定制的
XML.我的用户希望他们的数据转换为此XML,以便在他们的Web应用程序中更容易地进行内容查询,并且他们希望输入来自他们的docX.
我曾尝试在Java中寻找转换器API,但似乎都不符合我的要求.我查看了docx4j,但意识到它只转换为HTML和PDF.我在想是否存在我可以输入的转换器API,例如,中间转换器(XSLT),输出将是我的自定义XML,包含来自docX的数据. 有现成的工具吗?如果没有,那么我在编写自己的转换器时必须采取的方法有任何建议,例如:从openXML开始,在自定义XML之前首先转换为XSL-FO? 很想听听社区的消息. 非常感谢你. 解决方法
docx4j可用于通过XSLT将OpenXML转换为任意XML.
假设模板xslt和javax.xml.transform.stream.StreamResult结果,你会做这样的事情: WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.load(new java.io.File(inputfilepath)); MainDocumentPart mdp = wordMLPackage.getMainDocumentPart(); // DOM document to input to transform org.w3c.dom.Document doc = XmlUtils.marshaltoW3CDomDocument( mdp.getJaxbElement() ); XmlUtils.transform(doc,xslt,null,result); 但是,如果你想要做的就是转换为XML,那么docx4j(以及Apache POI就此而言)是过度的.你可以直接使用OpenXML4J. 是否通过XSLT进行转换是最好的方法,取决于您的目标XML是面向文档还是面向数据. 如果它是面向文档的,那么XSLT是一种很好的方法. 如果它是面向数据的,您可能需要考虑内容控制数据绑定. (还有另一种方法,称为customxml,但如果您依赖Word进行编辑,i4i专利闹剧可能会使这种方法不可取) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |