XML实验8(SAX)

合集下载

解析XML

解析XML
• 由于PULL解析方式与SAX解析方式相似,都是采用事 物驱进行解析的,只不过PULL方式读xml回调方法返 回的是数字,PULL解析中的事件为:开始文档 START_DOCUMENT和结束文档END_DOCUMENT, 开始元素START_TAG和结束元素END_TAG,遇到元 素内容TEXT等,但需要调用next() 方法提取它们。
•DOM解析 •SAX解析 •PULL解析
DOM• 解解析析XML
DOM 解析的方式:
DOM方式解析XML是先把文档都读取到内存中,然 后通过DOM API来访问树形结构并获取数据,但是如果 XML数据非常大,在处理效率上就会大打折扣了,这是相 对于其他处理XML方式而言的
具体解析见备注。
SAX• 解解析析XML
解析XML
主要• 解内析容XML
• 1 XML 的概念 • 2 XML 的格式 • 3 XML 的使用 • 4 XML 的解析方式
XML•的解概析XM念L
• XML是指可扩展标记语言(extensible markup language), 它是一种标记语言,很类似HTML。可以用来标记数据, 定义数据类型,是一种允许用户对自己标记语言进行定 义的源语言。它与其它数据表现形式最大的不同时:极 其简单。在设计方面与HTML的区别是:XML是用来存储 数据的,重在数据本身,而HTML是用来定义数据的, 重在数据的显示模式。

使用SAX解析xml文档

使用SAX解析xml文档

使⽤SAX解析xml⽂档

1.⾸先,在main⽅法中解析xml⽂档,具体代码如下:

import org.w3c.dom.*;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.parsers.SAXParser;

import javax.xml.parsers.SAXParserFactory;

public class Main {

public static void main(String[] args) throws Exception {

//创建⼀个⽂档解析器⼯⼚

SAXParserFactory factory=SAXParserFactory.newInstance();

SAXParser parser=factory.newSAXParser();

Handler handler=new Handler();

parser.parse("src/server.xml",handler);

}

}

其中,解析时parser.parse("src/server.xml",handler);第⼀个参数是xml⽂档的地址,第⼆个参数是具体的以什么规则解析这个xml⽂档。

2.重写Handler类,以⾃由操纵如何具体的解析xml⽂档的具体值

import org.xml.sax.Attributes;

import org.xml.sax.SAXException;

XMl的SAX读取方法

XMl的SAX读取方法
6
Overriding Handler methods
Most important methods to override
– – – – –
void startDocument()
Called once when document parsing begins
void endDocument()
Called once when parsing ends
10
SAX应用示例 SAX应用示例1 (2.1/9) 应用示例1
要求的输出如下: 要求的输出如下:
Pekka Matti Maija Maija Kilpeläinen (1234) Möttönen (5678) Möttönen (9012) Römppänen (3456)
11
ห้องสมุดไป่ตู้
SAX应用示例 SAX应用示例1 (2.2/9) 应用示例1
事件驱动的处理策略
– 从元素 从元素person开始 记录 idnum (e.g., 1234) 开始, 开始 – 记录各个 last 与 first 元素的开始与结束, 元素的开始与结束,
以便存储其元素内容 (e.g., “ “Kilpeläinen” ” 和 "Pekka") – 每一个 person元素结束时 输出与该元素有关 元素结束时, 元素结束时 的数据

XML SAX处理文件开始与结束

XML  SAX处理文件开始与结束

XML SAX处理文件开始与结束

从上节的案例,我们可以看到,当SAX解析器解析XML文档时,解析到不同的标记会触发不同的事件。当SAX解析器开始解析XML文件时,就会报告“文件开始”事件给事件处理器,此时事件处理器会调用方法startDocument()方法,然后再陆续处理并报告其他的事件,如“开始标记”、“文本事件”等,如果解析到XM L文档的结束,解析器会报告“文件结束”事件,事件处理器会调用endDocument()方法。解析器在解析XML文件的过程中,只能报告一次“文件开始”事件和“文件结束”事件。如果要实现处理“文件结束”和“文件开始”事件,需要在程序的类中重写这两个继承的方法。

现在创建案例,演示使用SAX解析器处理文件开始与结束。首先创建XML文

行,会显示如图7-3所示窗口:

图7-3 处理文件开始和结束

利用SAX解析器解析XML文档时,首先使用SAXParserFactory解析器工厂对象factory的newSAXParser()方法创建了一个解析对象saxParser。下面创建File对象file指向要解析的XML文件Example2.xml,MyHanlder类是一个事件处理者,即事件处理器,是处理产生的“文件开始”和“文件结束”事件。

在MyHandler类中,该类继承DefaultHandler类,并实现类中的startDocuemt 和endDocument方法。startDocuemt()方法中,使用System.currentTimeMillis()获取解析文件的开始时间,并输出解析文件路径和名称。在endDocument方法中,输出

xml格式讲解

xml格式讲解

xml格式讲解

摘要:

1.XML简介

2.XML的基本语法

3.标签和属性

4.解析XML

5.XML的应用场景

正文:

一、XML简介

XML(可扩展标记语言)是一种用于描述数据结构和数据的标记语言。它源于1998年由万维网联盟(W3C)推出的标准。XML的设计目标是简化数据的共享和传输,使得不同的系统和平台能够互相理解数据。与HTML相比,XML更加灵活和可扩展,适用于各种类型的数据。

二、XML的基本语法

1.声明:XML文档的开始部分需要有一个声明,示例如下:

```

<?xml version="1.0" encoding="UTF-8"?>

```

2.元素:XML文档由多个嵌套的元素组成。每个元素由开始标签、结束标签和中间的内容组成。例如:

```

<root>

<child1>内容1</child1>

<child2>内容2</child2>

</root>

```

3.命名规则:XML元素名称必须遵循以下规则:

- 名称以字母或下划线开头(首字母大写或小写均可);

- 名称中间不能有空格;

- 名称中只能包含字母、数字、连字符、下划线和点号;

- 名称区分大小写;

- 顶级元素(如`<root>`)必须使用名词。

三、标签和属性

1.标签:XML标签用于标识文档中的不同部分。标签可以分为开始标签(如`<root>`)和结束标签(如`</root>`)。

2.属性:XML元素可以使用属性来提供附加信息。属性位于开始标签内,如下所示:

xml的四种解析方法及源代码

xml的四种解析方法及源代码

xml的四种解析方法及源代码(SAX、DOM、JDOM、DOM4J)

第一种:SAX解析

SAX处理机制:SAX是一种基于事件驱动的API。利用SAX解析XML文档,牵涉到两个部分:解析器和事件处理器。解析器负责读取XML文档,并向事件处理器发生事件,如元素开始和元素结束事件;而事件处理器则负责对事件做出响应,对传递的XML数据进行处理。

测试用的xml文件:db.xml

Xml代码

oracle.jdbc.driver.OracleDriver

jdbc:oracle:thin:@localhost:1521:oracle

scott

tiger

DTD文件db.dtd

Xml代码

SAX解析实例一

org.xml.sax.DefalutHandler类: 可以扩展该类,给出自己的解析实现SAXPrinter.java

Java代码

import java.io.File;

import javax.xml.parsers.SAXParser;

import javax.xml.parsers.SAXParserFactory;

import org.xml.sax.Attributes;

import org.xml.sax.SAXException;

import org.xml.sax.helpers.DefaultHandler;

public class SAXPrinter extends DefaultHandler

{

/** *//**

* 文档开始事件

*/

public void startDocument() throws SAXException

读写XML的四种方法

读写XML的四种方法

读写XML的四种方法

XML(eXtensible Markup Language)是一种用于表示和传输数据的

标记语言。它具有良好的可读性和扩展性,被广泛应用于Web开发、数据

交换和配置文件等领域。在读写和处理XML数据时,有许多方法可供选择。本文将介绍四种常见的读写XML的方法:DOM、SAX、JDOM、和XMLStreamReader/XMLStreamWriter。

1. DOM(Document Object Model):DOM是一种基于树形结构的解

析器,它将整个XML文档加载到内存中,并将其表示为一个对象树。在DOM中,每个XML元素都被表示为一个节点(Node),可以通过节点的属

性和方法对其进行操作。读取XML文档时,可以使用DOM解析器将其转换

为一个DOM树,然后通过节点的方法访问和修改树结构。写入XML文档时,可以通过创建和修改节点来构建DOM树,并使用DOM解析器将其保存为XML文档。

使用DOM读取XML文档的基本步骤如下:

- 创建一个DocumentBuilderFactory对象。

- 根据DocumentBuilderFactory对象创建一个DocumentBuilder对象。

- 使用DocumentBuilder对象解析XML文档,并返回一个Document

对象。

- 通过Document对象的方法遍历和操作XML文档的节点。

使用DOM写入XML文档的基本步骤如下:

- 创建一个DocumentBuilderFactory对象。

- 根据DocumentBuilderFactory对象创建一个DocumentBuilder对象。

SAX解析器解析xml详解

SAX解析器解析xml详解

XML的解析器原理及性能比较,SAX详解

1 DOM

DOM 是用与平台和语言无关的方式表示XML 文档的官方W3C 标准。DOM 是以层次结构组织的节点或信息片断的集合。这个层次结构允许开发人员在树中寻找特定信息。分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作。由于它是基于信息层次的,因而DOM 被认为是基于树或基于对象的。DOM 以及广义的基于树的处理具有几个优点。

首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改。它还可以在任何时候在树中上下导航,而不是像SAX 那样是一次性的处理。DOM 使用起来也要简单得多。

另一方面,对于特别大的文档,解析和加载整个文档可能很慢且很耗资源,因此使用其他手段来处理这样的数据会更好。这些基于事件的模型,比如SAX。

2 SAX

这种处理的优点非常类似于流媒体的优点。分析能够立即开始,而不是等待所有的数据被处理。而且,由于应用程序只是在读取数据时检查数据,因此不需要将数据存储在内存中。这对于大型文档来说是个巨大的优点。事实上,应用程序甚至不必解析整个文档;它可以在某个条件得到满足时停止解析。一般来说,SAX 还比它的替代者DOM 快许多。

3 选择DOM 还是选择SAX ?

对于需要自己编写代码来处理XML 文档的开发人员来说,选择DOM 还是SAX 解析模型是一个非常重要的设计决策。

DOM 采用建立树形结构的方式访问XML 文档,而SAX 采用的事件模型。

DOM 解析器把XML 文档转化为一个包含其内容的树,并可以对树进行遍历。用DOM 解析模型的优点是编程容易,开发人员只需要调用建树的指令,然后利用navigation APIs访问所需的树节点来完成任务。可以很容易的添加和修改树中的元素。然而由于使用DOM 解析器的时候需要处理整个XML 文档,所以对性能和内存的要求比较高,尤其是遇到很大的XML 文件的时候。由于它的遍历能力,DOM 解析器常用于XML 文档需要频繁的改变的服务中。

上课SAX

上课SAX

一、SAX处理是如何工作的 处理是如何工作的
基于事件的处理的优点和缺点: 基于事件的处理的优点和缺点 优点: 优点: 1) 分析能够立即开始,而不是等待所有的数据被处理; 2) 应用程序只是在读取数据时检查数据,因此不需要 将数据存储在内存中; 3) 事实上,应用程序甚至不必解析整个文档,它可以在 某个条件得到满足时停止解析; 4) 一般来说,SAX 还比它的替代者 DOM 快许多; 5) 解析文档,同时向事件处理程序发送每个事件; 缺点: 由于应用程序没有以任何方式存储数据,使用SAX来更 改数据或在数据流中往后移是不可能的。
一、SAX处理是如何工作的 处理是如何工作的
如何在SAX和DOM之间选择 和 之间选择: 如何在 之间选择 1) 应用程序的目的 若对数据作出更改并将它输出为XML,那么DOM是 适当的选择,但不是说使用SAX不能更改数据,只是 该过程要复杂得多; 2) 数据容量 对于大型文件,SAX是更好的选择; 3) 数据将如何使用 如果只有数据中的少量部分会被使用,那么使用SAX 来将该部分数据提取到应用程序中可能更好; 4) 对速度的需要 SAX实现通常要比DOM实现更快; SAX和DOM不是相互排斥的! 和 不是相互排斥的! 不是相互排斥的 可以使用DOM来创建SAX事件流, 也可以使用SAX来创建DOM树。
XML解析器 解析器
XML程序的结构 程序的结构 XML程序由两部分组成: •解析器:用于处理XML文档; •应用程序:通过解析器对文件内容进行操作; 解析器 XML 文档 应用程序

xml文件解析方法

xml文件解析方法

xml文件解析方法

XML文件解析方法

引言:

XML(可扩展标记语言)是一种用于存储和传输数据的标记语言,它具有良好的可读性和灵活性,被广泛应用于数据交换和配置文件等领域。在处理XML文件时,解析是必不可少的环节。本文将介绍几种常用的XML文件解析方法,包括DOM、SAX和StAX。

一、DOM解析方法

DOM(文档对象模型)是一种将整个XML文件以树形结构加载到内存中的解析方法。DOM解析器将XML文件解析为一个树状结构,通过遍历节点来获取和操作XML文件中的数据。DOM解析方法的优点是易于理解和使用,可以随机访问XML文件中的任意节点,但缺点是占用内存较大,不适用于大型XML文件的解析。

1. 创建DOM解析器对象:

使用标准的Java API,可以通过DocumentBuilderFactory类来创建DOM解析器对象。

2. 加载XML文件:

通过DOM解析器对象的parse()方法加载XML文件,将其转化为一个树形结构。

3. 遍历节点:

使用DOM解析器对象提供的方法,如getElementsByTagName()、getChildNodes()等,可以遍历XML文件中的各个节点,获取节点的名称、属性和文本内容等信息。

4. 获取节点数据:

通过节点对象提供的方法,如getNodeName()、getTextContent()等,可以获取节点的名称和文本内容。

二、SAX解析方法

SAX(简单API for XML)是一种基于事件驱动的XML解析方法。在SAX解析过程中,解析器顺序读取XML文件,当遇到节点开始、节点结束或节点文本等事件时,会触发相应的回调方法。相比于DOM 解析方法,SAX解析方法具有内存占用小、解析速度快的优点,但缺点是无法随机访问XML文件中的节点。

sax方式解析xml的优点

sax方式解析xml的优点

sax方式解析xml的优点:

只要有jdk的存在,严格意义上来说是jre,它就可以运行,不依赖任何第三方的jar包。在移动设备上尤为广泛使用。比如Android 就使用它来解析xml。当然Android更为推荐的是采用xmlpull来解析xml。这种方式也同样适合javase。我在后期会为大家准备使用xmlpull 解析xml的demo。敬请关注。

xml文件:

张三

18

****************

1987-06-08

好学生

李四

18

************

1987-06-08

好学生

小王

18

****************

1987-06-08

好学生

小张

18

*****************

1987-06-08

好学生

小明

18

****************

1987-06-08

好学生

xml对应的Javabean:

package com.parsexml.entity;

public class Student {

private int id;

private int group;

private String name;

private String sex;

private int age;

private String email;

private String memo;

private String birthday;

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public int getGroup() {

XML的工作原理和过程

XML的工作原理和过程

XML的⼯作原理和过程

⼀、XML的⼯作原理:

包括服务器端解析与客户端解析。

服务器端解析是通过XSLT转换⼯具(如Xalan)将XML和XSL合成为HTML,送到客户端。客户端解析是把XML和XSL都显现给客户端,把解析的任务交给浏览器。

⼆、过程:

A、XML解析:

1.⽂档对象模型(DOM),⼀种基于树结构的API。

2.XML简单API(SAX),⼀种事件驱动的API.

B、DOM解析:

1.基于树状结构的API

2.整个XML⽂档必须在内存中解析和存储

3.客户端应⽤程序就可以随机访问这些对象

4.⼤型⽂档则会造成内存紧张

C、SAX解析:

1.SAX提⾼⼀种⽤于解析XML⽂档的事件驱动模型,使⽤回调机制将事件通知应⽤程序

2.特点:

不必将整个⽂件加载到内存中,占有的内存少

不能对⽂档进⾏随机访问

SAX是只读的

⽂档只能遍历⼀次。

D、DOM和SAX解析技术的实现过程:

1.JAXP(Java API for XML):JAXP是对应⽤程序隐藏了特定解析器的接⼝,它提供了访问DOM和SAX实现的抽象层机制。

2.JDOM:

基于树型结构,利⽤纯JAVA的技术对XML⽂档操作

把SAX和DOM的功能有效地结合起来

⽤Java语⾔读、写、操作XML的优化API

3.DOM4J:

采⽤了java结合框架并完全⽀持DOM,SAX和JAXP

性能优异、功能强⼤和易⽤使⽤

⼤量使⽤接⼝,灵活性⾼。

基于SAX的XML解析与应用

基于SAX的XML解析与应用

K ywod S e rs AX , DOM , XML p re.h s tb e as aha l Cl s m be T 3 2 a s Nu r P 1 5 1
l 引 言
随着 We b的广泛使用 , T H ML的局 限性逐渐暴 露 出来 。H ML缺乏 扩展性 , T 定义 比较模糊 、 结构 不
维普资讯 http://www.cqvip.com
总 第 25期 2 20 0 8年 第 7期
计 算 机 与 数 字 工 程
Com p t r& D iia gie rng ue g tlEn n e i
VO136 NO. . 7 13 0
基于 S X的 X A ML解 析 与 应 用
Zh n Zh i Zh n n i a g Di uM n a g Lil
( o ue C ne ,E s C iaN r l ies y h n h i 2 0 6 ) C mp t e t r r at h oma Un ri ,S a g a 0 0 2 n v t
行 比较 。突 出 X ML存 储 数 据 的 优点 , 推 广 应用 XML 及其 解 析 技 术 有 一 定 的 实 用 意 义 。 对 关键 词 X ML简 单 应 用 程 序接 口 文档 对 象 模 型
T 3 15 P 1 .2
X ML解 析 哈 希表

SAX解析

SAX解析

一:SAX 解析:SAX (Simple API for XML )解析

二:优缺点:

优点:不用实现调入整个文档,占用资源少,尤其在嵌入式环境中,如Android

缺点:DOM 解析将文档长期驻留在内存中数据是持久的SAX 解析如果事件过后没有保存数据,数据就会丢失。

特点:不能对文档进行修改,只能读取。

三:SAX 解析小引:

SAX 采用事件驱动模型的方式解析XML 文件,利用SAX 解析XML 文档,涉及两个部分:解析器和事件处理器

解析器:用于解析某个XML 文档

事件处理器:针对事件做出响应的对象,得到SAX 解析器解析的数据,

事件驱动模型:将XML 、文档转换成一系列的事件由具体单独的事件处理具体的数据 四:SAX 解析的工作原理图:

五:SAX 解析流程

1:使用SAXParserFactory 创建SAX 解析工厂获取对象

SAXParserFactory spf=SAXParserFactory.newLnstance ()

2:通过SAX 解析工厂获得解析器的对象

SAXparser sp= spf.newParser ();

3:通过解析器对象得到一个XML 兑取器对象

XMLReader. xmlReader=sp.getXMLReader();

4:设置读取器的事件处理器

xmlReader.setContentHanler(new ContenHandler());

5:解析XML 文件

XMlREader.parse(“book.xml ”);

六:事件处理器:ContentHandler 、和 DefaultHandler

SAX解析xml时命名空间以及参数问题

SAX解析xml时命名空间以及参数问题

SAX解析xml时命名空间以及参数问题

本文以实例形式解释下java利用SAX解析xml时命名空间及其参数问题。

(关于xml使用及命名空间的详细展开,可以参考W3school官方教程,这里提供的是关于主题的敏捷版)1.命名空间直观感受

首先对命名空间有个直观感受,请看下面的未使用命名空间的xml代码。

清单1-1 :books.xml

[html]view plaincopyprint?

1.<?xml version="1.0"encoding="UTF-8"?>

2.<books>

3.<book>

4.<title>Harry Potter</title>

5.<author>J K. Rowling</author>

6.</book>

7.<book>

8.<title>Learning XML</title>

9.<author>Erik T. Ray</author>

10.</book>

11.</books>

然后请看下面使用了命名空间的xml代码。

清单1-2:NameSpaceDemo.xml

[html]view plaincopyprint?

1.<?xml version="1.0"encoding="UTF-8"?>

2.<!--命名空间示例-->

3.<books>

4. <!--使用前缀命名空间-->

SAX

SAX

不能随机访问 不能修改文档
使用SAX对文档进行解析,只能访问文档内容,无 对文档进行解析,只能访问文档内容, 使用 对文档进行解析 法做到向文档中添加节点, 法做到向文档中添加节点,更不能删除和修改文档 中的内容。 中的内容。 GR-XML培训
SAX的常用接口介绍 SAX的常用接口介绍
ContentHandler接口 接口 ContentHandler是Java类包中一个特殊的 是 类包中一个特殊的SAX接口,位于 接口, 类包中一个特殊的 接口 位于org.xml.sax包 包 该接口封装了一些对事件处理的方法, 解析器开始解析XML 中。该接口封装了一些对事件处理的方法,当XML解析器开始解析 解析器开始解析 输入文档时,它会遇到某些特殊的事件,比如文档的开头和结束、 输入文档时,它会遇到某些特殊的事件,比如文档的开头和结束、元素 开头和结束、以及元素中的字符数据等事件。当遇到这些事件时, 开头和结束、以及元素中的字符数据等事件。当遇到这些事件时,XML 解析器会调用ContentHandler接口中相应的方法来响应该事件。 接口中相应的方法来响应该事件。 解析器会调用 接口中相应的方法来响应该事件 ContentHandler接口的方法有以下几种: 接口的方法有以下几种: 接口的方法有以下几种
GR-XML培训
SAX简介 SAX简介
什么是SAX SAX,全称Simple API for XML,既是指一种接口,也是指一个软件包。 ,全称 ,既是指一种接口,也是指一个软件包。 SAX最初是由 最初是由David Megginson采用 采用Java语言开发,之后 语言开发, 很快在Java 最初是由 采用 语言开发 之后SAX很快在 很快在 开发者中流行起来。 现在负责管理其原始API的开发工作,这是一种 的开发工作, 开发者中流行起来。San现在负责管理其原始 现在负责管理其原始 的开发工作 公开的、开放源代码软件。不同于其他大多数XML标准的是,SAX没有 标准的是, 公开的、开放源代码软件。不同于其他大多数 标准的是 没有 语言开发商必须遵守的标准SAX参考版本。因此,SAX的不同实现可能 参考版本。 语言开发商必须遵守的标准 参考版本 因此, 的不同实现可能 采用区别很大的接口。 采用区别很大的接口。 作为接口, 是事件驱动型XML解析的一个标准接口(standard 解析的一个标准接口( 作为接口,SAX是事件驱动型 是事件驱动型 解析的一个标准接口 interface)不会改变,已被 )不会改变,已被OASIS(Organization for the Leabharlann Baidudvancement of ( Structured Information Standards)所采纳。作为软件包,SAX最早的开 )所采纳。作为软件包, 最早的开 发始于1997年12月,由一些在互联网上分散的程序员合作进行。后来, 发始于 年 月 由一些在互联网上分散的程序员合作进行。后来, 参与开发的程序员越来越多,组成了互联网上的XML-DEV社区。五个 社区。 参与开发的程序员越来越多,组成了互联网上的 社区 月以后, 版由XML-DEV正式发布。目前,最新的 正式发布。 月以后,1998年5月,SAX 1.0版由 年 月 版由 正式发布 目前, 版本是SAX 2.0。2.0版本在多处与 版本不兼容,包括一些类和方法的 版本在多处与1.0版本不兼容 版本是 。 版本在多处与 版本不兼容, 名字。 名字。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告

实验项目名称XML实验8(SAX)

所属课程名称XML设计技术

班级07计算机(软件工程方向)学号

姓名

成绩

实验指导8-1:获取XML文件里的数据

公司现在正在招聘,应聘人员发来的应聘信息全部是以XML文件编写的。现需要做个程序,把里面的数据提取出来,并放到公司的个人储备表中。

实验目标

(1)通过实验了解SAX的事件处理机制原理。

(2)掌握创建SAX的解析器、创建SAX对象。

(3)学会处理SAX的开始标记、文档开始等事件。

(4)学会获取XML文档的数据并做相应处理。

实验步骤

(1)查看发来的XML文档,看其包含哪些相关信息,哪种数据类型。用草稿列

出来并考查数据库表中有哪些数据。

(2)编写Java程序,先把XML文件中的数据输出。

(3)继续完善Java程序,把数据放入到数据库的那部分加入程序。最好把获取

XML数据的那部分做一个类,把链接数据库并执行插入的那部分做成一个类。

(4)运行调试该程序。

实验指导8-2:获取XML文件里的数据并依据需求形成新的XML文件学校进行了期中考试,成绩已经下来了,但个别同学没有参加考试或考试不及格,对这部分同学要求重新考试。假设学校的考试名单都存储在一个XML文件上,现在需要我们从该XML文件中提取这些同学的名称并形成一个新的文档。 实验目标

(1)掌握DOM和SAX各自处理XML文档的优势。

(2)学会使用DOM的节点树创建XML文档。

(3)学会获取指定条件的数据在XML文档中。

(4)学会编写SAX和DOM共同使用的程序。

实验步骤

(1)观察考试名单的XML,构思一下需要获得哪些数据,数据的类型是哪些,

该数据怎样通过程序获得,获得后保存在哪些数据结构中。

(2)首先通过编写基于SAX的程序获得指定条件的数据,并把这些数据存储起

来。

(3)编写基于DOM的程序,利用刚才获得的数据形成一个节点树,并保存产生

一个XML文件。可以用两个单独的类完成这个程序。

(4)运行和调试Java程序。

相关文档
最新文档