import java.io.File; import javax.xml.parsers.*; import org.xml.sax.XMLReader; import org.xml.sax.helpers.DefaultHandler; import org.xml.sax.Locator; import org.xml.sax.Attributes; class SAXLoc { public static void main(String[] args) throws Exception { SAXParserFactory factory = SAXParserFactory.newInstance(); SAXParser saxParser = factory.newSAXParser(); XMLReader xmlReader = saxParser.getXMLReader(); xmlReader.setContentHandler( new MyContentHandler(){ Locator locator; public void setDocumentLocator(Locator locator){ this.locator = locator; } public void startDocument(){ traceLoc( "start" ); } public void startElement(String ns, String sname, String qName, Attributes atts) { traceLoc( qName ); } void traceLoc( String s ){ System.out.println( locator.getLineNumber() + ": " + s ); } } ); xmlReader.parse( new File(args[0]).toURL().toString() ); } }