By default, CDATA nodes in an XML file will be represented with CDATASection objects in a DOM document. This example demonstrates how to create a parser that converts CDATA nodes into text nodes.
try {
// Create a builder factory
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
// Configure it to coalesce CDATA nodes
factory.setCoalescing(true);
// Create the builder and parse the file
Document doc = factory.newDocumentBuilder().parse(new File("infilename.xml"));
// doc will not contain any CDATA nodes
} catch (SAXException e) {
// A parsing error occurred; the xml input is not valid
} catch (ParserConfigurationException e) {
} catch (IOException e) {
}
Here's some sample input:
Some pretext
Some posttext
and output:
Some pretext
Some text with lots of <"!@#$%'^&*()> special characters
Some posttext