JSP及SAX : 可扩展标记语言 « JSP技术 « Java

En
Java
1. 图形用户界面
2. 三维图形动画
3. 高级图形
4. 蚂蚁编译
5. Apache类库
6. 统计图
7. 
8. 集合数据结构
9. 数据类型
10. 数据库JDBC
11. 设计模式
12. 开发相关类
13. EJB3
14. 电子邮件
15. 事件
16. 文件输入输出
17. 游戏
18. 泛型
19. GWT
20. Hibernate
21. 本地化
22. J2EE平台
23. 基于J2ME
24. JDK-6
25. JNDI的LDAP
26. JPA
27. JSP技术
28. JSTL
29. 语言基础知识
30. 网络协议
31. PDF格式RTF格式
32. 映射
33. 常规表达式
34. 脚本
35. 安全
36. Servlets
37. Spring
38. Swing组件
39. 图形用户界面
40. SWT-JFace-Eclipse
41. 线程
42. 应用程序
43. Velocity
44. Web服务SOA
45. 可扩展标记语言
Java 教程
Java » JSP技术 » 可扩展标记语言屏幕截图 
JSP及SAX

<%@ page import="javax.xml.parsers.SAXParserFactory,
                 javax.xml.parsers.SAXParser,
                 com.java2s.MyHandler"%>

<html>
  <head><title>JSP and SAX</title></head>
  <body>
    <%
      SAXParserFactory factory   = SAXParserFactory.newInstance();
      SAXParser        parser    = factory.newSAXParser();
      MyHandler        myHandler = new MyHandler(out);

      parser.parse("http://localhost:8080/chapter10/people.xml",
                   myHandler);
    %>
  </body>
</html>


package com.java2s;

import java.io.IOException;
import javax.servlet.jsp.JspWriter;
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

public class MyHandler extends DefaultHandler
{
  private int       stepCount, totalAge;
  private JspWriter out;
  private boolean   insideAgeElement;
  
  public MyHandler(JspWriter out)
  {
    this.out = out;
  }

  public void startDocument() throws SAXException
  {
    try 
    {
      out.write(++stepCount + ". Start of document<br>");      
    }
    catch (IOException e
    {
      throw new SAXException(e);
    }    
  // end of startDocument()

  public void endDocument() throws SAXException
  {
    try 
    {
      out.write(++stepCount + ". End of document<p>");
      out.write("The total of all ages in the XML document is <b><i>"
                + totalAge + "</i></b>");
    }
    catch (IOException e
    {
      throw new SAXException(e);
    }    
  // end of endDocument()

  public void startElement(String namespaceURI, String localName,
                           String qName, Attributes attrs)
      throws SAXException
  {
    if qName.equals("age")) 
    {
      insideAgeElement = true;
    }
    
    try 
    {
      out.write(++stepCount + ". Start of element: <b>" + qName + "</b>");

      int numberOfAttributes = attrs.getLength();

      if numberOfAttributes > 
      {
        out.write(". Attributes: <ul>");
      // end of if ()
      else 
        out.write("<br>");
      
      for int i=0; i<numberOfAttributes; i++
      {
        out.write("<li>" + attrs.getQName(i" = "
                  + attrs.getValue(i"</li>");
      // end of for ()
        
      if numberOfAttributes > 
      {
        out.write("</ul>");
      }
    }
    catch (IOException e
    {
      throw new SAXException(e);
    }    
  // end of startElement()

  public void endElement(String namespaceURI, String localName, String qName)
      throws SAXException
  {
    if qName.equals("age") ) 
    {
      insideAgeElement = false;
    }
    
    try 
    {
      out.write(++stepCount + ". End of element <b>" + qName + "</b><br>");      
    }
    catch (IOException e
    {
      throw new SAXException(e);
    // end of try-catch
    
  // end of endElement()

  public void characters(char[] chars, int start, int lengththrows SAXException
  {
    String content = new String(chars, start, length);

    if insideAgeElement 
    {
      int age  =  Integer.parseInt(content);
      totalAge += age;
    }
    
    try 
    {
      out.write(++stepCount + ". Character content = ");

      if length > 
        out.write("<b>" + content + "</b><br>");
    }
    catch (IOException e
    {
      throw new SAXException(e);
    // end of try-catch
    
  // end of characters()
// end of class MyHandler



           
       
Related examples in the same category
1. 使用XML标记的核心
2. XML转换
3. 表演XSL转换
4. JSP in pure XML generating conforming XHTML
5. JSP中的XSLT
6. XSLT的JSP中2
7. JSP中使用的DOM解析
8. JSP中使用JDOM解析
9. JSP中使用的DOM解析和JSTL
10. JSP Displaying a Subset in XML
11. JSP的XML和XSLT变换
12. XML文档中的JSP清单中的数据
13. 处理JSP中XML
www.java2java.com | Contact Us
Copyright 2010 - 2030 Java Source and Support. All rights reserved.
All other trademarks are property of their respective owners.