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

面试题 相关文章推荐
PHP如何调用MYSQL存储过程
May 30 面试题
Tomcat Mysql datasource数据源配置
Dec 28 面试题
Sony C++笔试题
Mar 10 面试题
南京某软件公司的.net面试题
Nov 30 面试题
Ref与out有什么不同
Nov 24 面试题
new修饰符是起什么作用
Jun 28 面试题
C#如何调用Word并打开一个Word文档
May 08 面试题
Shell编程面试题
May 30 面试题
什么是Linux虚拟文件系统VFS
Aug 25 面试题
什么是虚拟内存?虚拟内存有什么优势?
Feb 19 面试题
软件测试面试题
Oct 21 面试题
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+MySql实现学生信息管理系统实例
2020/08/04 PHP
JavaScript 权威指南(第四版) 读书笔记
2009/08/11 Javascript
13个绚丽的Jquery 界面设计网站推荐
2010/09/28 Javascript
jquery实现的导航固定效果
2014/04/28 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
基于javascript制作经典传统的拼图游戏
2016/03/22 Javascript
倾力总结40条常见的移动端Web页面问题解决方案
2016/05/24 Javascript
jquery自动补齐功能插件flexselect用法示例
2016/08/06 Javascript
Bootstrap popover用法详解
2016/12/22 Javascript
Bootstrap 模态框实例插件案例分析
2016/12/28 Javascript
Vue.js 60分钟快速入门教程
2017/03/28 Javascript
在Debian(Raspberry Pi)树莓派上安装NodeJS的教程详解
2017/09/19 NodeJs
axios进阶实践之利用最优雅的方式写ajax请求
2017/12/20 Javascript
Webpack实战加载SVG的方法
2017/12/26 Javascript
AngularJS实现的自定义过滤器简单示例
2019/02/02 Javascript
JavaScript对象属性操作实例解析
2020/02/04 Javascript
Jquery如何使用animation动画效果改变背景色的代码
2020/07/20 jQuery
vue组件开发之slider组件使用详解
2020/08/21 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
2020/09/22 Javascript
[01:05:56]2018DOTA2亚洲邀请赛3月29日 小组赛A组 Newbee VS VG
2018/03/30 DOTA
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
Django中模版的子目录与include标签的使用方法
2015/07/16 Python
从局部变量和全局变量开始全面解析Python中变量的作用域
2016/06/16 Python
利用python程序生成word和PDF文档的方法
2017/02/14 Python
浅谈Python中重载isinstance继承关系的问题
2018/05/04 Python
基于python绘制科赫雪花
2018/06/22 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
Under Armour澳大利亚官网:美国知名的高端功能性运动品牌
2018/02/22 全球购物
村委会贫困证明
2014/01/14 职场文书
经济管理毕业生求职信
2014/03/15 职场文书
买房协议书
2014/04/11 职场文书
好的旅游活动方案
2014/08/19 职场文书
教师评职称工作总结2015
2015/04/20 职场文书
学生会主席任命书
2015/09/21 职场文书
《风筝》教学反思
2016/02/23 职场文书
Windows10下安装MySQL8
2021/04/06 MySQL