gpt4 book ai didi

xml - 将 docX 转换为自定义 XML

转载 作者:数据小太阳 更新时间:2023-10-29 02:07:08 25 4
gpt4 key购买 nike

我一直在尝试将我的 docX 文件转换为我定制的 XML。我的用户希望将他们的数据转换为这种 XML,以便在他们的 Web 应用程序中更轻松地查询内容,并且他们希望输入来自他们的 docX。

我曾尝试在 Java 中寻找转换器 API,但似乎没有一个符合我的要求。我查看了 docx4j,但意识到它只能转换为 HTML 和 PDF。我在想是否存在一个转换器 API,我可以向其输入,比如说,一个中间翻译器 (XSLT),并且输出将是我的自定义 XML,其中包含来 self 的 docX 的数据。

有现成的工具吗?如果没有,关于我在编码我自己的转换器时必须采取的方法的任何建议,例如从 openXML,在自定义 XML 之前先转换为 XSL-FO?

很想听听社区的意见。

非常感谢。

最佳答案

docx4j 可用于通过 XSLT 将 OpenXML 转换为任意 XML。

假设 Templates xslt 和 javax.xml.transform.stream.StreamResult result,你会做像这样:

        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 是一个很好的方法。

如果它是面向数据的,您可能需要考虑内容控制数据绑定(bind)。 (还有另一种方法,称为 customxml,但如果您依赖 Word 进行编辑,i4i 专利闹剧可能会使该方法不可取)

关于xml - 将 docX 转换为自定义 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5830920/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com