2009-12-21 8 views
12

मैं एसएक्स के साथ एक्सएमएल में कुछ डेटा रूपांतरण (सीएसवी) कर रहा हूं और जावा में ट्रांसफॉर्मर का उपयोग कर रहा हूं। परिणाम StreamResult में है, और मैं इस परिणाम को file.xml में सहेजने की कोशिश कर रहा हूं लेकिन मुझे StreamResult को फ़ाइल में सहेजने का तरीका नहीं मिल रहा है। क्या मैं यह सब गलत कर रहा हूँ?जावा: स्ट्रीमिंग को एक फ़ाइल में

उत्तर

21

आपकी StreamResult फ़ाइल के आधार पर बनाई जानी चाहिए, उदा।

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

तो आपको आपके Transformer इस तरह के एक StreamResult, यह आपके द्वारा निर्दिष्ट फ़ाइल में सीधे उसके परिणाम लिखेंगे।

+0

एक आकर्षण की तरह काम किया! मेरा दिन बचाया:) धन्यवाद! – Todd

3

मैं एपीआई से परिचित नहीं हूं ... लेकिन 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 हो जाता है। –

संबंधित मुद्दे