编程用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 面试题
计算s=f(f(-1.4))的值
May 06 面试题
编写strcpy函数
Jun 24 面试题
杭州-飞时达软件有限公司.net笔面试
Apr 28 面试题
如何理解委托
Jan 06 面试题
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
Dec 12 面试题
Linux常见面试题
Oct 04 面试题
Why do we need Unit test
Jan 03 面试题
介绍一下Java的事务处理
Dec 07 面试题
高级Java程序员面试要点
Aug 02 面试题
95%的面试官都会问到的50道Java线程题,附答案
Aug 03 面试题
一套Delphi的笔试题一
Feb 14 面试题
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页面间传递参数实例代码
2008/06/05 PHP
PHP获取某个月最大天数(最后一天)的方法
2015/07/29 PHP
利用onresize使得div可以随着屏幕大小而自适应的代码
2010/01/15 Javascript
超级酷和最实用的jQuery实例收集(20个)
2010/04/21 Javascript
高性能WEB开发 flush让页面分块,逐步呈现 flush让页面分块,逐步呈现
2010/06/19 Javascript
基于javascript实现右下角浮动广告效果
2016/01/08 Javascript
JS基于HTML5的canvas标签实现炫目的色相球动画效果实例
2016/08/24 Javascript
node.js连接MongoDB数据库的2种方法教程
2017/05/17 Javascript
详解使用Node.js 将txt文件转为Excel文件
2017/07/05 Javascript
js使用highlight.js高亮你的代码
2017/08/18 Javascript
基于ES6 Array.of的用法(实例讲解)
2017/09/05 Javascript
NodeJS爬虫实例之糗事百科
2017/12/14 NodeJs
React Native 图片查看组件的方法
2018/03/01 Javascript
解决Vue中mounted钩子函数获取节点高度出错问题
2018/05/18 Javascript
jQuery提示框插件SweetAlert用法分析
2019/08/05 jQuery
TypeScript类型声明书写详解
2019/08/28 Javascript
js实现窗口全屏示例详解
2019/09/17 Javascript
JS设置自定义快捷键并实现图片上下左右移动
2019/10/17 Javascript
python实现读取命令行参数的方法
2015/05/22 Python
在Django的URLconf中使用命名组的方法
2015/07/18 Python
python组合无重复三位数的实例
2018/11/13 Python
解决tensorflow添加ptb库的问题
2020/02/10 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
2020/04/03 Python
解决keras GAN训练是loss不发生变化,accuracy一直为0.5的问题
2020/07/02 Python
python使用yaml 管理selenium元素的示例
2020/12/01 Python
PyCharm 光标变成黑块的解决方式
2021/02/06 Python
css3实现画半圆弧线的示例代码
2017/11/06 HTML / CSS
HTML5拖拽API经典实例详解
2018/04/20 HTML / CSS
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
平面设计自荐信
2013/10/07 职场文书
园林资料员岗位职责
2013/12/30 职场文书
活动总结报告范文
2014/05/04 职场文书
2016年七夕爱情寄语
2015/12/04 职场文书
高中语文教学反思范文
2016/02/16 职场文书
MySQL Shell的介绍以及安装
2021/04/24 MySQL
MySQL学习之基础命令实操总结
2022/03/19 MySQL