Mega Code Archive

 
Categories / Java Tutorial / XML
 

Accessing character data (CDATA) of XML element

import java.util.Stack; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.SAXException; import org.xml.sax.helpers.DefaultHandler; public class Main extends DefaultHandler {   private Stack currentElement = new Stack();   public void startElement(String uri, String localName, String qName, Attributes attrs)       throws SAXException {     currentElement.push(qName);   }   public void endElement(String namespaceURI, String localName, String qName) throws SAXException {     currentElement.pop();   }   public void characters(char[] ch, int start, int length) throws SAXException {     String cdata = new String(ch, start, length);     System.out.println("Element '" + currentElement.peek() + "' contains text: " + cdata);   }   public static void main(String[] args) throws Exception {     SAXParserFactory factory = SAXParserFactory.newInstance();     factory.setValidating(true);     SAXParser parser = factory.newSAXParser();     parser.parse("sample.xml", new Main());   } }