2010-12-30 16 views
33

मेरे पास xml-file है। मुझे इसे पढ़ने, कुछ बदलाव करने और कुछ नए गंतव्य में नए बदले गए संस्करण को लिखने की जरूरत है।xml फ़ाइल में पार्स किए गए और परिवर्तित DOM दस्तावेज़ को कैसे सहेजते हैं?

मैं इस फ़ाइल को पढ़ने, पार्स और पैच करने में कामयाब रहा (DocumentBuilderFactory, DocumentBuilder, Document और इसी तरह)।

लेकिन मुझे उस फ़ाइल को सहेजने का कोई तरीका नहीं मिल रहा है। क्या इसका सादा पाठ दृश्य प्राप्त करने का कोई तरीका है (String) या किसी भी बेहतर तरीके से?

उत्तर

58

कुछ इस तरह काम करता है:

Transformer transformer = TransformerFactory.newInstance().newTransformer(); 
Result output = new StreamResult(new File("output.xml")); 
Source input = new DOMSource(myDocument); 

transformer.transform(input, output); 
2

काम करेंगे यही कारण है, बशर्ते आप xerces-j उपयोग कर रहे हैं:

public void serialise(org.w3c.dom.Document document) { 
    java.io.ByteArrayOutputStream data = new java.io.ByteArrayOutputStream(); 
    java.io.PrintStream ps = new java.io.PrintStream(data); 

    org.apache.xml.serialize.OutputFormat of = 
         new org.apache.xml.serialize.OutputFormat("XML", "ISO-8859-1", true); 
    of.setIndent(1); 
    of.setIndenting(true); 
    org.apache.xml.serialize.XMLSerializer serializer = 
         new org.apache.xml.serialize.XMLSerializer(ps, of); 
    // As a DOM Serializer 
    serializer.asDOMSerializer(); 
    serializer.serialize(document); 

    return data.toString(); 
} 
0

आप XML स्वरूप

new XMLWriter(new FileOutputStream(fileName), 
       new OutputFormat(){{ 
         setEncoding("UTF-8"); 
         setIndent(" "); 
         setTrimText(false); 
         setNewlines(true); 
         setPadText(true); 
       }}).write(document); 
परिभाषित करने के लिए संभावना दे देंगे कि
संबंधित मुद्दे