2010-04-13 55 views
1

我有一个XML文件,我想解析为基于XLST文件的非XML(文本)文件。这两个代码看起来都是正确的,并且在手动测试时工作正常,但我在编程方面遇到了问题。如何使用JDOM XSLTransformer获取非XML输出?

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

由于XSLT的缘故,Java中有更好的方法来获取非XML文件吗?

回答

5

JDOM XSLTTransformer是一个围绕javax.xml.transform.Transformer提供JDOM输入和输出的便捷包装。

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(); 
+0

辉煌,工作完美。 – 2010-04-15 15:31:54