2010-04-13 29 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