编程用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 05 面试题
你常见到的runtime exception
Sep 05 面试题
介绍下Java的输入输出流
Jan 22 面试题
类、抽象类、接口的差异
Jun 13 面试题
群胜软件Java笔试题
Sep 29 面试题
什么是SQL Server的确定性函数和不确定性函数
Aug 04 面试题
C#怎么让一个窗口居中显示?
Oct 20 面试题
Linux的文件类型
Jul 05 面试题
linux面试题参考答案(10)
Nov 04 面试题
一套比较完整的软件测试人员面试题
May 13 面试题
如果重写了对象的equals()方法,需要考虑什么
Nov 02 面试题
Java里面Pass by value和Pass by Reference是什么意思
May 02 面试题
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/02 无线电
PHP实现抓取迅雷VIP账号的方法
2015/07/30 PHP
详解WordPress开发中的get_post与get_posts函数使用
2016/01/04 PHP
基于PHP实现堆排序原理及实例详解
2020/06/19 PHP
用javascript替换URL中的参数值示例代码
2014/01/27 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
javascript时间差插件分享
2016/07/18 Javascript
图解prototype、proto和constructor的三角关系
2016/07/31 Javascript
JS无缝滚动效果实现方法分析
2016/12/21 Javascript
JS正则表达式修饰符global(/g)用法分析
2016/12/27 Javascript
vue中用动态组件实现选项卡切换效果
2017/03/25 Javascript
jQuery中each方法的使用详解
2018/03/18 jQuery
JavaScript事件对象event用法分析
2018/07/27 Javascript
iview Upload组件多个文件上传的示例代码
2018/09/30 Javascript
Node.js一行代码实现静态文件服务器的方法步骤
2019/05/07 Javascript
Vue Echarts实现可视化世界地图代码实例
2019/05/07 Javascript
JS实现提示框跟随鼠标移动
2019/08/27 Javascript
vue 实现tab切换保持数据状态
2020/07/21 Javascript
关于vue 项目中浏览器跨域的配置问题
2020/11/10 Javascript
[02:24]DOTA2痛苦女王 英雄基础教程
2013/11/26 DOTA
[07:54]DOTA2 MV《我的动力鞋》 ImbaTV 出品
2014/11/21 DOTA
[01:08:56]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第一场 2月7日
2021/03/11 DOTA
使用Python设置tmpfs来加速项目的教程
2015/04/17 Python
深入理解Python3中的http.client模块
2017/03/29 Python
Python随机生成均匀分布在三角形内或者任意多边形内的点
2017/12/14 Python
python调用c++ ctype list传数组或者返回数组的方法
2019/02/13 Python
Python基础之条件控制操作示例【if语句】
2019/03/23 Python
python从PDF中提取数据的示例
2020/10/30 Python
IE10 Error.stack 让脚本调试更加方便快捷
2013/04/22 HTML / CSS
浅谈html5 响应式布局
2014/12/24 HTML / CSS
为奢侈时尚带来了慈善元素:Olivela
2018/09/29 全球购物
什么是Oracle的后台进程background processes?都有哪些后台进程?
2012/04/26 面试题
学习走群众路线心得体会
2014/11/05 职场文书
离职感谢信
2015/01/21 职场文书
Python3 类型标注支持操作
2021/06/02 Python
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS