- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第09章 SAX解析器
习题答案
1.简述SAX解析器与DOM解析器的不同。
答案:
SAX解析器和DOM解析器的区别主要有以下几个方面:
第一,SAX解析器是一种基于事件的解析器,将XML文件转化成一种事件流的形式进行分析,可以解析任意大小的XML文件。DOM解析器在解析的时候在内存中建立一个与XML文件结构相对应的树形结构,不适合处理大型文件。
第二,SAX解析器只能将XML文件从头到尾顺序地分析一遍,不能随意存取XML文件的某一部分。DOM解析器则可以随意存取XML文件的任何部分,没有次数的限制。
第三,SAX解析器只能读取XML文件,不能修改文件。DOM解析器可以任意修改内存中的树形结构,从而可以随意修改XML文件。
2.SAX解析器在解析XML文件时向事件处理器最先报告的是什么事件?
答案:
SAX解析器最先向事件处理器报告文件定位事件,然后才是文档开始事件。但文件定位用的很少,一般将文档开始事件认为第一个事件。
3.对于下面的XML文件,SAX解析器报告事件的顺序是怎样的?
?xml version=”1.0” encoding=”gb2312” ?
books
book
titleJava面向对象编程/title
author孙卫琴/author
/book
/books
答案:
SAX解析器报告事件的顺序见下表:
序号 事件 备注 1 startDocument事件 文档开始 2 startElement事件 books 3 characters事件 books与book之间的空白 4 startElement事件 book 5 characters事件 book与title之间的空白 6 startElement事件 title 7 characters事件 文本“Java面向对象编程” 8 endElement事件 /title 9 characters事件 /title与author之间的空白 10 startElement事件 author 11 characters事件 文本“孙卫琴” 12 endElement事件 /author 13 characters事件 /author与/book之间的空白 14 endElement事件 /book 15 characters事件 /book与/books之间的空白 16 endElement事件 /books 17 endDocument事件 文档结束
4.编写Java程序,利用SAX解析器解析如下的XML文件,要求输出的结果如图9-13所示。
?xml version=”1.0” encoding=”gb2312” ?
score
name
小李
math89/math
english90/english
/name
name
小张
math92/math
english87/english
/name
name
小赵
math95/math
english90/english
/name
/score
图9-13 习题4要求程序运行的结果
答案:
import org.xml.sax.helpers.DefaultHandler;
import org.xml.sax.*;
import javax.xml.parsers.*;
public class Xiti4 {
public static void main(String[] args) {
try {
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser saxParser = factory.newSAXParser();
MyHandler myHandler = new MyHandler();
saxParser.parse(xiti4.xml, myHandler);
} catch (Exception e) {
e.printStackTrace();
}
}
}
class MyHandler extends DefaultHandler {
float math = 0, english = 0;
float m = 0, en = 0;
int n=0;
boolean flag = false, fmath = false, feng = false;
public void startDocument() throws SAXException {
System.out.print(=====成绩单=====);
}
public void endDocument() throws SAXException {
System.ou
您可能关注的文档
- Xilinx FPGA设计与实践教程 教学课件 作者 赵吉成 第1 5章 封面及目录.ppt
- Xilinx FPGA设计与实践教程 教学课件 作者 赵吉成 第6 10章 第6章.ppt
- Xilinx FPGA设计与实践教程 教学课件 作者 赵吉成 第6 10章 第7章.ppt
- Xilinx FPGA设计与实践教程 教学课件 作者 赵吉成 第6 10章 第8章.ppt
- Xilinx FPGA设计与实践教程 教学课件 作者 赵吉成 第6 10章 第9章.ppt
- Xilinx FPGA设计与实践教程 教学课件 作者 赵吉成 第6 10章 第10章.ppt
- Xilinx FPGA设计与实践教程 教学课件 作者 赵吉成 第11 16章 第11章.ppt
- Xilinx FPGA设计与实践教程 教学课件 作者 赵吉成 第11 16章 第12章.ppt
- Xilinx FPGA设计与实践教程 教学课件 作者 赵吉成 第11 16章 第13章.ppt
- Xilinx FPGA设计与实践教程 教学课件 作者 赵吉成 第11 16章 第14章.ppt
- XML实用教程 教学课件 作者 丁跃潮 叶文来 第1章_引论.ppt
- XML实用教程 教学课件 作者 丁跃潮 叶文来 第2章_XML基础.ppt
- XML实用教程 教学课件 作者 丁跃潮 叶文来 第3章_文档类型定义(DTD).ppt
- XML实用教程 教学课件 作者 丁跃潮 叶文来 第5章_使用CSS格式化XML.ppt
- XML实用教程 教学课件 作者 丁跃潮 叶文来 第6章_XML数据源对象.ppt
- XML实用教程 教学课件 作者 丁跃潮 叶文来 第7章_XSL转换.ppt
- XML实用教程 教学课件 作者 丁跃潮 叶文来 第8章_XML文档对象模型.ppt
- XML实用教程 教学课件 作者 丁跃潮 叶文来 第9章_xml与.net构建小型web应用.ppt
- XML实用教程 教学课件 作者 耿祥义 张跃平 XML实用教程第1章.ppt
- XML实用教程 教学课件 作者 耿祥义 张跃平 XML实用教程第2章.ppt
文档评论(0)