编程用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/C++编程面试题
Nov 10 面试题
以下的初始化有什么区别
Dec 16 面试题
database面试题
Mar 28 面试题
.NET初级开发工程师面试题(包括Javascript)
Aug 22 面试题
港湾网络笔试题
Apr 19 面试题
东方红海科技面试题软件测试方面
Feb 08 面试题
什么是Web Service?
Jul 25 面试题
同步和异步有何异同,在什么情况下分别使用他们?
Dec 28 面试题
写一个函数,要求输入一个字符串和一个字符长度,对该字符串进行分隔
Jul 30 面试题
请说出以下代码输出什么
Aug 30 面试题
线程同步的方法
Nov 23 面试题
请介绍一下WSDL的文档结构
Mar 17 面试题
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函数ip2long转换IP时数值太大产生负数的解决方法
2013/06/06 PHP
php截取中文字符串不乱码的方法
2013/12/25 PHP
php结合ajax实现手机发红包的案例
2016/10/13 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
2009/09/15 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
使用jquery动态加载javascript以减少服务器压力
2012/10/29 Javascript
详解jQuery插件开发中的extend方法
2013/11/19 Javascript
jQuery Validate 验证,校验规则写在控件中的具体实例
2014/02/27 Javascript
使用jQuery判断IE浏览器版本的代码
2014/06/14 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
2015/12/10 Javascript
vue.js 1.x与2.0中js实时监听input值的变化
2017/03/15 Javascript
AngularJS使用拦截器实现的loading功能完整实例
2017/05/17 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
通过 JS 判断页面是否有滚动条的实现方法
2018/04/05 Javascript
如何使用electron-builder及electron-updater给项目配置自动更新
2018/12/24 Javascript
node中使用es6/7/8(支持性与性能)
2019/03/28 Javascript
vue.js 解决v-model让select默认选中不生效的问题
2020/07/28 Javascript
[01:44]《为梦想出发》—联想杯DOTA2完美世界全国高校联赛
2015/09/30 DOTA
python从ftp下载数据保存实例
2013/11/20 Python
pycharm 使用心得(六)进行简单的数据库管理
2014/06/06 Python
Django 跨域请求处理的示例代码
2018/05/02 Python
在Pycharm中设置默认自动换行的方法
2019/01/16 Python
Python安装Flask环境及简单应用示例
2019/05/03 Python
python 线性回归分析模型检验标准--拟合优度详解
2020/02/24 Python
如何更换python默认编辑器的背景色
2020/08/10 Python
Python使用paramiko连接远程服务器执行Shell命令的实现
2021/03/04 Python
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
2021/01/20 HTML / CSS
C++:局部变量能否和全局变量重名
2014/03/03 面试题
学雷锋志愿服务月活动总结
2014/03/09 职场文书
禁烟标语大全
2014/06/11 职场文书
中国文明网向国旗敬礼活动精彩寄语2014
2014/09/27 职场文书
中学生自我评价范文
2015/03/03 职场文书
如何写好竞聘报告
2019/04/03 职场文书
Python中使用subprocess库创建附加进程
2021/05/11 Python
pytorch 实现在测试的时候启用dropout
2021/05/27 Python