| Refresh | Home EGTry.com

parse xml document with sax api


Version tested: gae

package lab.xml;

import java.io.PrintWriter;
import java.io.StringReader;

import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.Attributes;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;



public class SaxMain extends DefaultHandler{

	private PrintWriter out;
	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception {
		
		test(new PrintWriter(System.out));
	}
	
	public static void test(PrintWriter out) throws Exception {
		out.println("start test");
		SaxMain handler=new SaxMain();
		handler.out=out;
		SAXParserFactory factory=SAXParserFactory.newInstance();
		SAXParser parser=factory.newSAXParser();
		InputSource source=new InputSource(new StringReader("<table> <tr><td>cell1</td><td>cell2</td></tr></table>"));
		
		parser.parse(source,handler);
		out.println("done");
		out.flush();
		
	}
	
	
	@Override
	public void startElement(String uri, String localName, String qName, Attributes attributes) throws SAXException {
		out.println("startElement:"+qName);
	}
	
	@Override
	public void characters(char[] buf, int offset, int len) throws SAXException {
		
		out.println("characters:"+new String(buf,offset,len));
	}
	
	@Override
    public void endElement(String uri, String localName, String qName)
    throws SAXException {
        out.println("endElement: " + qName);
    }

}