import java.io.File; import javax.xml.parsers.*; import org.xml.sax.Attributes; import org.xml.sax.XMLReader; import org.xml.sax.helpers.DefaultHandler; class SAXChars { public static void main(String[] args) throws Exception { SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser saxParser = factory.newSAXParser(); XMLReader xmlReader = saxParser.getXMLReader(); xmlReader.setContentHandler( new MyContentHandler() ); xmlReader.parse( new File(args[0]).toURL().toString() ); } } class MyContentHandler extends DefaultHandler { int length; public void characters(char[] ch, int start, int length){ this.length += length; String s = new String(ch, start, length); s = s.trim(); if( !s.equals("") ){ System.out.print( s + ' ' ); } } public void startElement(String ns, String sname, String qName, Attributes atts) { length = 0; if( qName.equals("title") ){ System.out.println( '\n' ); } } public void endElement(String ns, String sname, String qName){ if( qName.equals("title") ){ System.out.println(); for( int i=0; i