如何使用 JDOM XSLTransformer 获取非 XML 输出?

发布于 2024-08-28 21:16:47 字数 295 浏览 4 评论 0原文

我有一个 XML 文件,我想将其解析为基于 XLST 文件的非 XML(文本)文件。两者中的代码看起来都是正确的,并且在手动测试时它可以工作,但是我在以编程方式执行此操作时遇到问题。

我使用 JDOM 的 XSLTransformer 类将 XSLT 应用于 XML,并以 JDOM 文档的格式返回它。这里的问题是,我似乎无法访问文档中的任何内容,因为它不是正确的 XML 文件,并且出现“java.lang.IllegalStateException:未设置根元素”错误。

Java 中是否有更好的方法来获取 XSLT 的非 XML 文件?

I have an XML file which I'd like to parse into a non-XML (text) file based on a XLST file. The code in both seem correct, and it works when testing manually, but I'm having a problem doing this programatically.

I'm using JDOM's XSLTransformer class to apply the XSLT to the XML and it returns it in the format of a JDOM Document. The problem here is that I can't seem to access anything in the Document as it is not a proper XML file and I get a "java.lang.IllegalStateException: Root element not set" error.

Is there a better way within Java to obtain a non-XML file as a result of XSLT?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

丶视觉 2024-09-04 21:16:47

JDOM XSLTTransformer 是 JDOM 输入和输出的 javax.xml.transform.Transformer 的便捷包装器。

JDOM 输入很容易转换为文本输出。

Transformer transformer = TransformerFactory.newInstance().newTransformer(new StreamSource(stylesheet));
JDOMSource in = new JDOMSource(doc);
StringWriter writer = new StringWriter();
StreamResult out = new StreamResult(writer);
transformer.transform(in, out);
return writer.toString();

JDOM XSLTTransformer is a convenience wrapper around javax.xml.transform.Transformer for JDOM input and output.

A JDOM input is easily transformed to text output.

Transformer transformer = TransformerFactory.newInstance().newTransformer(new StreamSource(stylesheet));
JDOMSource in = new JDOMSource(doc);
StringWriter writer = new StringWriter();
StreamResult out = new StreamResult(writer);
transformer.transform(in, out);
return writer.toString();
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文