Mega Code Archive

 
Categories / Java Tutorial / JSP
 

JSP SAX Parser

Jsp code <!-- Sams Teach Yourself JavaServer Pages in 21 Days (Paperback) by Steven Holzner (Author), Steve Holzner (Author) # Publisher: Sams; 1st edition (September 19, 2002) # Language: English # ISBN-10: 0672324490 # ISBN-13: 978-0672324499 --> <%@ page import="org.xml.sax.*, org.xml.sax.helpers.DefaultHandler, javax.xml.parsers.*, java.io.*" %> <%! javax.servlet.jsp.JspWriter localOut; public class parser extends DefaultHandler {     String indent = "";     void parse(String name)      {         DefaultHandler handler = this;         SAXParserFactory factory = SAXParserFactory.newInstance();         try {             SAXParser saxParser = factory.newSAXParser();             saxParser.parse(new File(name), handler);         } catch (Throwable t) {}     }     public void startDocument() throws SAXException     {         try{             localOut.println("&lt;?xml version=\"1.0\" encoding=\""+"UTF-8" + "\"?&gt;<BR>");         }         catch(java.io.IOException e){}     }     public void endDocument() throws SAXException      {     }     public void startElement(String namespaceURI, String localName, String qualifiedName, Attributes attrs)     throws SAXException      {         try{             String elementName = localName;              if ("".equals(elementName)) {                 elementName = qualifiedName;              }             localOut.println(indent + "&lt;" + elementName);             if (attrs != null) {                 for (int i = 0; i < attrs.getLength(); i++) {                     String attributeName = attrs.getLocalName(i);                       if ("".equals(attributeName)) attributeName = attrs.getQName(i);                     localOut.println(attributeName + "=");                     localOut.println("\"" + attrs.getValue(i) + "\"");                 }             }             localOut.println("&gt;<BR>");             indent += "&nbsp;&nbsp;&nbsp;&nbsp;";            }         catch(java.io.IOException e){}     }     public void endElement(String namespaceURI, String localName, String qualifiedName)     throws SAXException      {         try{             String elementName = localName;              if ("".equals(elementName)) {                 elementName = qualifiedName;              }             indent = indent.substring(0, indent.length() - 24);             localOut.println(indent + "&lt;/" + elementName + "&gt;");             localOut.println("<BR>");         }         catch(java.io.IOException e){}     }     public void characters(char buf[], int offset, int len)     throws SAXException     {         try{             String s = new String(buf, offset, len);             if (!s.trim().equals("")) {                 localOut.println(indent + "&nbsp;&nbsp;&nbsp;&nbsp;" + s);                 localOut.println("<BR>");              }         }         catch(java.io.IOException e){}     } }         %> <HTML>     <HEAD>         <TITLE>Parsing an XML Document with SAX</TITLE>     </HEAD>     <BODY>         <H1>Parsing an XML Document with SAX</H1>     <%         localOut = out;         parser p = new parser();         p.parse(application.getRealPath("/") + "test.xml");     %>     </BODY> </HTML> XML document <a>    <b>        </b> </a>