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); } }