2010-08-18 89 views
0

我編寫的代碼在打印之前將我的Document轉換爲字符串TransformerFactory.newInstance()會停止嗎?

  TransformerFactory tf = TransformerFactory.newInstance(); 
     Transformer trans = tf.newTransformer(); 
     trans.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes"); 
     trans.setOutputProperty(OutputKeys.INDENT, "yes"); 


     //create string from xml tree 
     StringWriter sw = new StringWriter(); 
     StreamResult result = new StreamResult(sw); 
     DOMSource source = new DOMSource(doc); 
     trans.transform(source, result); 
     xmlString = sw.toString(); 

這在獨立程序中完美運行。我已將此代碼直接剪切並粘貼到在jakarta-tomcat-5.0.28(JDK 1.5)下運行的模塊中,並在TransformerFactory.newInstance()之前停止。有什麼東西我需要告訴jvm jakm在哪裏找到合適的類?順便說一句,呼叫永遠不會返回,它只是停止而沒有響應。

回答

2

你會得到什麼錯誤?這聽起來像你需要在你的類路徑上有一個Java XML庫,如果你在Java 6下運行,默認情況下你的類路徑中有JAXP TransformerFactory,否則你需要將Xalan/SAX等添加到你的類路徑中。

+0

沒有錯誤,沒有反應,沒有 - 它只是停止。我正在運行JDK 1.5 - 我會嚇到一個Xalan,看看它做了什麼。 – KevinDTimm 2010-08-18 17:11:57

+0

非常感謝,非常感謝xalan的安裝! – KevinDTimm 2010-08-18 17:56:47