//Code to demonstrate the parsing of XML via SAX method import org.xml.sax.Attributes; import org.xml.sax.helpers.DefaultHandler; import org.xml.sax.XMLReader; import org.xml.sax.SAXException; import org.xml.sax.SAXParseException; import org.xml.sax.XMLReader; import org.apache.xerces.parsers.SAXParser; import java.io.*; public class PrintUsingSAX extends DefaultHandler { public PrintUsingSAX(String fileName) { try { XMLReader myParser = new SAXParser(); myParser.setContentHandler(this); myParser.setErrorHandler(this); myParser.parse(fileName); } catch(Exception e) { System.out.println("Exc " + e); } }//end of constructor public void startDocument() { System.out.println(""); } // startDocument() public void endDocument() { System.out.println(""); } // endDocument() public void startElement(String uri, String local, String name, Attributes attrs) { System.out.print('<' + name ); if (attrs != null) { int len = attrs.getLength(); for (int i = 0; i < len; i++) { System.out.print(" " + attrs.getQName(i) + "=\"" + attrs.getValue(i) + "\""); } }//end of if System.out.print('>'); } // startElement(String,Attributes) public void endElement(String uri, String local, String name) { System.out.print(""); } // endElement(String) public void characters(char ch[], int start, int length) { System.out.print(new String(ch, start, length)); } // characters(char[],int,int); public void processingInstruction(String target, String data) { System.out.print(" 0) { System.out.print(' ' + data ); } System.out.println("?>"); } // processingInstruction(String,String) public void ignorableWhitespace(char ch[], int start, int length) { characters(ch, start, length); } // ignorableWhitespace(char[],int,int); public static void main(String args[]) { String xmlFileName=""; if(args.length == 0) { //Check to ensure user XML file name to parse System.out.println("Usage::java PrintUsingSAX path/xmlFilename"); System.exit(0); } else { xmlFileName = args[0]; } PrintUsingSAX pux = new PrintUsingSAX(xmlFileName); }//end of main }//end of PrintUsingSAX