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

Nei*_*McF 1 java xml xslt jdom

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

我正在使用JDOM的XSLTransformer类将XSLT应用于XML,并以JDOM Document的格式返回它.这里的问题是我似乎无法访问Document中的任何内容,因为它不是一个正确的XML文件,而且我收到"java.lang.IllegalStateException:Root element not set"错误.

Java中有更好的方法来获取XSLT导致的非XML文件吗?

Lac*_*che 5

JDOM XSLTTransformer是javax.xml.transform.TransformerJDOM输入和输出的便利包装器.

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();
Run Code Online (Sandbox Code Playgroud)