Writing Only the Text of a DOM Document

One of the three output methods of a transformer is text. With this output method, only the text in CharacterData nodes are written out. Comments are also written out since they are CharacterData nodes. To remove the comments, see Removing a Node from a DOM Document.
// Create a document; this method is implemented in // The Quintessential Program to Create a DOM Document from an XML File Document doc = parseXmlFile("infilename.xml", false); try { // Create a transformer Transformer xformer = TransformerFactory.newInstance().newTransformer(); // Set the public and system id xformer.setOutputProperty(OutputKeys.METHOD, "text"); // Write the DOM document to a file Source source = new DOMSource(doc); Result result = new StreamResult(new File("outfilename.xml")); xformer.transform(source, result); } catch (TransformerConfigurationException e) { } catch (TransformerException e) { }
This is the sample input for the example:
<?xml version="1.0" encoding="UTF-8"?> <root> <!-- comment --> <?target instructions?> <elem1 attr="attrValue"> cat &lt; <elem2> dog </elem2> rat </elem1> <![CDATA[cat < dog > rat]]> </root>
The resulting output from running the example is:
<!-- comment --> cat < dog rat cat < dog > rat

Post a comment

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image. Ignore spaces and be careful about upper and lower case.