Sunday 31 July 2011

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 qNamethrows SAXException {
    currentElement.pop();
  }

  public void characters(char[] ch, int start, int lengththrows SAXException {
    String cdata = new String(ch, start, length);
    System.out.println("Element '" + currentElement.peek() "' contains text: " + cdata);
  }

  public static void main(String[] argsthrows Exception {
    SAXParserFactory factory = SAXParserFactory.newInstance();
    factory.setValidating(true);
    SAXParser parser = factory.newSAXParser();
    parser.parse("sample.xml"new Main());
  }
}

   
    
    
    
    
  

No comments:

Post a Comment