编程用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...

面试题 相关文章推荐
C++如何引用一个已经定义过的全局变量
Aug 25 面试题
声明struct x1 { . . . }; 和typedef struct { . . . }x2;有什么不同
Jun 02 面试题
以下的初始化有什么区别
Dec 16 面试题
凌阳科技股份有限公司C++程序员面试题笔试题
Nov 20 面试题
一个SQL面试题
Aug 21 面试题
阿里巴巴的Oracle DBA笔试题答案-SQL tuning类
Apr 03 面试题
请解释流与文件有什么不同
Jul 29 面试题
什么是TCP/IP
Jul 27 面试题
Linux面试经常问的文件系统操作命令
Nov 05 面试题
亿企通软件测试面试题
Apr 10 面试题
如何开发安全的AJAX应用
Mar 26 面试题
什么是抽象
Dec 13 面试题
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
如何冲泡挂耳包咖啡?技巧是什么
2021/03/04 冲泡冲煮
深入掌握include_once与require_once的区别
2013/06/17 PHP
php ajax实现文件上传进度条
2016/03/29 PHP
由prototype_1.3.1进入javascript殿堂-类的初探
2006/11/06 Javascript
jQuery 改变CSS样式基础代码
2010/02/11 Javascript
cloudgamer出品ImageZoom 图片放大效果
2010/04/01 Javascript
jquery分页对象使用示例
2014/04/01 Javascript
浅谈JavaScript中Date(日期对象),Math对象
2015/02/05 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
简介JavaScript中的sub()方法的使用
2015/06/08 Javascript
js实现接收表单的值并将值拼在表单action后面的方法
2015/11/23 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
JS/jQ实现免费获取手机验证码倒计时效果
2016/06/13 Javascript
详解handlebars+require基本使用方法
2016/12/21 Javascript
js 倒计时(高效率服务器时间同步)
2017/09/12 Javascript
layui前端框架之table表数据的刷新方法
2018/08/17 Javascript
vue3.0 CLI - 2.6 - 组件的复用入门教程
2018/09/14 Javascript
JS实现获取当前所在周的周六、周日示例分析
2019/05/11 Javascript
javascript实现贪吃蛇经典游戏
2020/04/10 Javascript
Python利用WMI实现ping命令的例子
2019/08/14 Python
python基于socket实现的UDP及TCP通讯功能示例
2019/11/01 Python
Python 3.8 新功能大揭秘【新手必学】
2020/02/05 Python
python中adb有什么功能
2020/06/07 Python
详解Python yaml模块
2020/09/23 Python
使用CSS变量实现炫酷惊人的悬浮效果
2019/04/26 HTML / CSS
床上用品全球在线购物:BeddingInn
2016/12/18 全球购物
碧欧泉Biotherm加拿大官方网站:法国高端护肤品牌
2019/10/18 全球购物
兰兰过桥教学反思
2014/02/08 职场文书
物流管理毕业生自荐信范文
2014/03/15 职场文书
小学生常见病防治方案
2014/06/06 职场文书
小学六一儿童节活动方案
2014/08/27 职场文书
学前班幼儿评语大全
2014/12/29 职场文书
python学习之panda数据分析核心支持库
2021/05/07 Python
浅谈如何提高PHP代码的质量
2021/05/28 PHP
mybatis中sql语句CDATA标签的用法说明
2021/06/30 Java/Android
详解Vue的列表渲染
2021/11/20 Vue.js