精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
返回建站学首页
导航:
建站首页 | 网站设计 | 网站开发 | 网站运营 | 网页软件 | 建站指南 | 搜索优化 | 图像处理 | 视频教程 | 书籍教程 | 建站专题
当前位置:首页>网站开发>xml教程>正文

XML和JSP交互技术


来源:天极网 时间:06-12-25 点击: 点击这里收藏本文

  get(Object key)根据关键字得到它的值
  keys()取得所有关键字并返回一个集合Enumeration
此外,哈希表还具有其他很多有用的方法如长度size()、是否为空empty()、是否重复containsKey()等等,限于篇幅在这里就不进行介绍了。

4) 实施HandlerBase接口
  在这里我们编写一个myHandler的类,它用来实施HandlerBase接口,并且覆盖接口的三个主要方法startElement(String tag, AttributeList attrs)、characters(char[] ch, int start, int length)、endElement(String name)以便能对XML文件进行操作。
  为了保存数据以便外部程序能够调用本类中的数据,我们采用了哈希表结构来保存解析XML文件后的所有节点名字以及节点的数据值,startElement()方法主要用来读取XML文件中的节点名称,characters()方法主要用来根据节点名称读取节点数据,endElement()方法主要是在一个XML节点处理完毕后将这对节点名称和节点数据保存在哈希表中。
  在外部程序中我们只需要调用getTable()方法返回一个哈希表对象就可以读取所有的节点和节点数据值了。
  代码不多,而且我在下面添加了很多注释,应该很好看懂了。
  myHandler.java文件
  file://文件放置在包com.jsp21.www中
  package com.jsp21.www;
  file://导入相关的java API
  import java.io.*;
  import org.w3c.dom.*;
  import org.xml.sax.*;
  import javax.xml.parsers.SAXParser;
  import javax.xml.parsers.SAXParserFactory;
  import java.util.Hashtable;
  import java.util.Enumeration;
  // myHandler类实现HandlerBase接口;
  public class myHandler extends HandlerBase {
  private String myElement = null; file://XML文件中的标记名称;
  private String myValue = null; file://XML文件中标记对应的值;
  private Hashtable mytable = new Hashtable(); file://用来保存XML文件中所有的数据;
  file://得到保存有XML数据的哈希表Hashtable;
  public Hashtable getTable() {
   return mytable;
  }
  file://覆盖HandlerBase接口中的startElement方法,读取一行XML数据的开始标记时候执行此方法;
  // tag代表XML中的标记,如前面XML文件中的NAME AGE等;
  public void startElement(String tag, AttributeList attrs)
   throws SAXException {
   myElement = tag;
  }
  file://覆盖HandlerBase接口中的characters方法,主要用来得到和之间具体的数据;
  // 当对应myElement的标记发现值后,也就是startElement方法执行完毕后,就会触发这个characters方法来得到具体的数值;
  file://如myElement="姓名"时候,myValue就会等于"刘玉锋";
  public void characters(char[] ch, int start, int length)
  throws SAXException {
    myValue = new String(ch, start, length);
  }
  file://覆盖HandlerBase接口中的endElement方法,主要用来在一行XML数据读取完毕后进行自己的处理;
  // 当XML文件中一行标记读取完毕后,触发此endElement方法;
  file://如果存在对应的结束标记,就将前面得到的标记myElement和值myValue
  file://放入到mytable哈希表中;
  public void endElement(String name) throws SAXException {

9 7 3 1 2 3 4 4 8 :

  把此文章收藏到:          
广而告之
文章搜索
  • Google JZxue.Com

关于我们 | 联系我们 | 友情链接 | 网站地图
Copyright © 2005 - 2006 建站学 All rights reserved.