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

面试题 相关文章推荐
你常见到的runtime exception
Sep 05 面试题
Java中有几种方法可以实现一个线程?用什么关键字修饰同步方法?stop()和suspend()方法为何不推荐使用?
Aug 04 面试题
static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
Feb 22 面试题
经典C++面试题一
Nov 06 面试题
杭州龙健科技笔试题.net部分笔试题
Jan 24 面试题
远东集团网络工程师面试题
Oct 20 面试题
sealed修饰符是干什么的
Oct 23 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
Jan 06 面试题
Python是如何进行类型转换的
Jun 09 面试题
Python中如何定义一个函数
Sep 06 面试题
final, finally, finalize的区别
Mar 01 面试题
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/04/21 PHP
PHP的PDO错误与错误处理
2019/01/27 PHP
一些常用的Javascript函数
2006/12/22 Javascript
JavaScript 保存数组到Cookie的代码
2010/04/14 Javascript
Jquery 表格合并的问题分享
2011/09/17 Javascript
js 弹出菜单/窗口效果
2011/10/30 Javascript
JavaScript将取代AppleScript?
2014/09/18 Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
2015/02/02 Javascript
js实现双击图片放大单击缩小的方法
2015/02/17 Javascript
js实现简单的可切换选项卡效果
2015/04/10 Javascript
js操作数组函数实例小结
2015/12/10 Javascript
jQuery中clone()函数实现表单中增加和减少输入项
2017/05/13 jQuery
在移动端使用vue-router和keep-alive的方法示例
2018/12/02 Javascript
angular学习之动态创建表单的方法
2018/12/07 Javascript
vue路由跳转传参数的方法
2019/05/06 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
JS变量提升及函数提升实例解析
2020/09/03 Javascript
[53:18]Spirit vs Liquid Supermajor小组赛A组 BO3 第三场 6.2
2018/06/03 DOTA
python创建临时文件夹的方法
2015/07/06 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
2018/12/05 Python
Python 判断奇数偶数的方法
2018/12/20 Python
Python实现求两个数组交集的方法示例
2019/02/23 Python
Django Channel实时推送与聊天的示例代码
2020/04/30 Python
详解Pycharm安装及Django安装配置指南
2020/09/15 Python
基于 Python 实践感知器分类算法
2021/01/07 Python
HTML5地理定位_动力节点Java学院整理
2017/07/12 HTML / CSS
Expedia意大利旅游网站:酒店、机票和租车预订
2017/10/30 全球购物
Three Graces London官网:英国奢侈品牌
2021/03/18 全球购物
鞋类设计与工艺专业销售求职信
2013/11/01 职场文书
销售经理岗位职责
2014/03/16 职场文书
公司总经理岗位职责
2015/04/01 职场文书
勤俭节约倡议书范文
2015/04/29 职场文书
2016大学生入党积极分子心得体会
2016/01/06 职场文书
大学生村官驻村工作心得体会
2016/01/23 职场文书
浅谈TypeScript 索引签名的理解
2021/10/16 Javascript
【TED出品】天梯非主流开心游1700 划水骑士
2022/03/31 魔兽争霸