2014-02-09 34 views
1
使用XSLT的HTML字符串

我可以用現在的代碼生成一個HTML文件我可以通過Ajax回調將結果傳回給我的JSP頁面。我怎樣才能修改這個代碼來做到這一點?轉換XML在Java

+0

代碼中沒有指定HTML是什麼出來的(除了輸出文件的名稱)。這一切都歸結爲XSL文件 - 它將XML轉換爲什麼。使用不同的XSL文件,這可能會產生完全不同的東西。 –

+0

@DavidWallace那是真的。我想知道的是如何用一些String的東西替換FileOutputStream。 StreamResult的構建似乎非常有限。 – goldfrapp04

+0

@ goldfrapp04:您是否嘗試過下面的ByteArrayOutputStream? –

回答

2

StringWriter更換FileOutputStream,然後調用toString()StringWriter在末端。像這樣的東西。

FileInputStream xml = new FileInputStream("original.xml"); 
FileInputStream xsl = new FileInputStream("converter.xsl"); 
StringWriter writer = new StringWriter(); 

Source xmlDoc = new StreamSource(xml); 
Source xslDoc = new StreamSource(xsl); 
Result result = new StreamResult(writer); 

TransformerFactory factory = TransformerFactory.newInstance();    
Transformer trans = factory.newTransformer(xslDoc); 
trans.transform(xmlDoc, result); 

String outputString = writer.toString(); 
0

只需改變可變的類型超出到ByteArrayOutputStream

ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
baos.toString() // Should do the job