编程用JAVA解析XML的方式


Posted in 面试题 onJuly 07, 2013
答:用SAX 方式解析XML,XML 文件如下:


王小明
信息学院
6258113
男,1955 年生,博士,95 年调入海南大学

事件回调类SAXHandler.java :
import java.io.*;
import java.util.Hashtable;
import org.xml.sax.*;
第28 页共59 页
public class SAXHandler extends HandlerBase{
private Hashtable table = new Hashtable();
private String currentElement = null;
private String currentValue = null;
public void setTable(Hashtable table){
this.table = table;
}
public Hashtable getTable(){
return table;
}
public void startElement(String tag, AttributeList attrs)
throws SAXException{
currentElement = tag;
}
public void characters(char[] ch, int start, int length)
throws SAXException{
currentValue = new String(ch, start, length);
}
public void endElement(String name) throws SAXException{
if (currentElement.equals(name))
table.put(currentElement, currentValue);
}
}
JSP 内容显示源码,SaxXml.jsp:


剖析XML 文件people.xml


contentType=”text/html;charset=GB2312″ %>







File file = new File(“c:\people.xml”);
FileReader reader = new FileReader(file);
Parser parser;
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
第29 页共59 页
SAXHandler handler = new SAXHandler();
sp.parse(new InputSource(reader), handler);
Hashtable hashTable = handler.getTable();
out.println(“”);
out.println(“” + “”);
out.println(“” + “”);
out.println(“” + “”);
out.println(“” + “”);
out.println(“
” +
“教师信息表
姓名” +
(String)hashTable.get(new String(“name”)) +
学院” +
(String)hashTable.get(new String(“college”))
+”
电话” +
(String)hashTable.get(new String(“telephone”))
+ “
备注” +
(String)hashTable.get(new String(“notes”))
+ “
”);
%>


Tags in this post...

面试题 相关文章推荐
strlen的几种不同实现方法
May 31 面试题
解释一下Windows的消息机制
Jan 30 面试题
什么是事务?为什么需要事务?
Jan 09 面试题
.NET现在共支持多少种语言
Feb 26 面试题
UDP协议功能
Jan 06 面试题
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
Jan 19 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
Apr 17 面试题
如果让你测试一台高速激光打印机,你都会进行哪些测试
Dec 04 面试题
介绍一下Java的事务处理
Dec 07 面试题
Set里的元素是不能重复的,那么用什么方法来区分重复与否呢?
Aug 18 面试题
Servlet方面面试题
Sep 28 面试题
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
Jan 12 #面试题
写一个方法,输入一个文件名和一个字符串,统计这个字符串在这个文件中出现的次数
Apr 13 #面试题
介绍下Java中==和equals的区别
Sep 01 #面试题
两道JAVA笔试题
Sep 14 #面试题
Java文件和目录(IO)操作
Aug 26 #面试题
有abstract方法的类一定要用abstract修饰吗
Mar 14 #面试题
如何用Java判断一个文件或目录是否存在
Nov 19 #面试题
You might like
PHP 命名空间实例说明
2011/01/27 PHP
PHP代码优化之成员变量获取速度对比
2014/02/28 PHP
详解PHP中的PDO类
2015/07/06 PHP
laravel Model 执行事务的实现
2019/10/10 PHP
html下载本地
2006/06/19 Javascript
怎么用javascript进行拖拽
2006/07/20 Javascript
监控 url fragment变化的js代码
2010/04/19 Javascript
理运用命名空间让js不产生冲突避免全局变量的泛滥
2014/06/15 Javascript
Javascript实现鼠标右键特色菜单
2015/08/04 Javascript
jquery ajax 如何向jsp提交表单数据
2015/08/23 Javascript
prototype框架中美元符号$用法分析
2016/01/22 Javascript
【经典源码收藏】jQuery实用代码片段(筛选,搜索,样式,清除默认值,多选等)
2016/06/07 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
JavaScript数据结构链表知识详解
2016/11/21 Javascript
JavaScript实现的CRC32函数示例
2016/11/23 Javascript
微信公众平台开发教程(四) 实例入门:机器人回复(附源码)
2016/12/02 Javascript
完美解决jQuery 鼠标快速滑过后,会执行多次滑出的问题
2016/12/08 Javascript
使用ionic(选项卡栏tab) icon(图标) ionic上拉菜单(ActionSheet) 实现通讯录界面切换实例代码
2017/10/20 Javascript
bootstrap3中container与container_fluid外层容器的区别讲解
2017/12/04 Javascript
jquery+ajaxform+springboot控件实现数据更新功能
2018/01/22 jQuery
layui 优化button按钮和弹出框的方法
2018/08/15 Javascript
jQuery实现的中英文切换功能示例
2019/01/11 jQuery
微信小程序生成分享海报方法(附带二维码生成)
2019/03/29 Javascript
小程序开发踩坑:页面窗口定位(相对于浏览器定位)(推荐)
2019/04/25 Javascript
Vue 实例事件简单示例
2019/09/19 Javascript
零基础写python爬虫之打包生成exe文件
2014/11/06 Python
PyQt5每天必学之事件与信号
2018/04/20 Python
python中68个内置函数的总结与介绍
2020/02/24 Python
美国珠宝店:Helzberg Diamonds
2018/10/24 全球购物
2014年元旦促销活动方案
2014/02/22 职场文书
环保建议书作文500字
2015/09/14 职场文书
给校长的建议书作文400字
2015/09/14 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
python爬虫之爬取笔趣阁小说
2021/04/22 Python
Python制作一个随机抽奖小工具的实现
2021/07/07 Python
「SHOW BY ROCK!!」“雫シークレットマインド”组合单曲MV公开
2022/03/21 日漫