2009-12-21 144 views
12

我做一些數據轉換(如CSV),然後用SAX在Java中使用變壓器XML。結果是在StreamResult中,我試圖將這個結果保存到file.xml中,但是我找不到將StreamResult保存到文件中的方法。我做這一切都錯了嗎?的Java:保存StreamResult到一個文件

回答

21

StreamResult應文件,例如基礎上創建

StreamResult sr = new StreamResult(new File("/my/file.xml")); 

如果你給你的Transformer這樣的StreamResult,它會直接寫其結果到您指定的文件。

+0

工作就像一個魅力!救了我一天:) 謝謝! – Todd 2009-12-21 01:19:38

3

我不熟悉的API ...但this link給你你所追求的?

Transformer transformer = TransformerFactory.newInstance().newTransformer(); 
transformer.setOutputProperty(OutputKeys.INDENT, "yes"); 

//initialize StreamResult with File object to save to file 
StreamResult result = new StreamResult(new StringWriter()); 
DOMSource source = new DOMSource(doc); 
transformer.transform(source, result); 

String xmlString = result.getWriter().toString(); 
System.out.println(xmlString); 
+0

評論與代碼不匹配。它說它正在保存到一個文件,但它實際上寫入了一個獲得println'd的字符串。 – 2014-07-15 12:42:43