java xml开发_JavaWeb开发(XML简介)---3

XML(eXtended Markup Language,可扩展的标记性语言)提供了一套跨平台,跨网络,跨程序的语言的数据描述方式,使用XML 可以方便地实现数据交换,系统配置,内容管理等常见功能。

所有的XML 文件都由前导区和数据区两部分组成.

前导区:规定出XML 页面的一些属性,其中有以下3 个属性:

version: 表示使用的XML 版本,现在是1.0。

encoding: 页面中使用的文字编码,如果有中文,则一定要指定编码。

standalone: 此XML 文件是否是独立运行,如果需要进行显示可以使用CSS 或XSL 控制。

数据区:所有的数据区必须有一个根元素,一个根元素下可以存放多个子元素,但是要求每一个元素必须完结,每一个标记都是区分大小写的。

在XML 文件中由于更多的是描述信息的内容,所以在得到一个XML 文档后应该利用程序按照其中元素的定义名称取出对应的内容,这样的操作就称为XML 解析。在XML 解析中,W3C 定义了SAX 和DOM 两种解析方式。

W3C(World Wide Web Consortium) 是一个非营利性的组织。

DOM 解析操作:在应用程序中,基于DOM(Document Object Model, 文档对象模型)的XML 分析器将一个 XML 文档转换成一个对象模型的集合(通常称为DOM 树),应用程序正是通过对这个对象模型的操作,来实现对XML 文档数据的操作。通过DOM 接口,应用程序可以在任何时候访问XML 文档中的任何一部分数据,因此,这种利用DOM 接口的机制也被称为 随机访问机制。

DOM 解析中有以下4个核心的操作接口:

Document:此接口代表了整个XML 文档,表示整颗DOM 树的根,提供了对文档中的数据进行访问和操作的入口,通过Ducument 节点可以访问XML 文件中的所有的元素内容。

Dode:此接口在整个DOM 树中具有举足轻重的地位,DOM操作的核心接口中有很大一部分接口是从Node 接口继承过来的。在DOM 树中,每一个Node 接口代表了DOM 树中的一个节点。

DodeList: 此接口表示一个节点的集合,一般用于表示有顺序关系的一组节点。

NamedNodeMap:此接口表示一组节点和其唯一名称对应的一一对应关系,主要用于属性节点的表示。

除了以上4个核心接口外,如果一个程序需要进行DOM 解析读操作,则需要按照如下步骤进行:

(1)建立DocumentBuilderFactory:DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();

(2)建立DocumentBuilder: DocumentBuilder builder= factory.newDocumentBuilder();

(3)建立Document: Document doc = builder.parse("要读取的文件路径");

(4)建立DodeList: NodeList nl = doc.getElementsByTagName("读取节点");

(5)进行XML 信息读取。

DOM 操作不仅可以读取文件,本身也可以生成和修改XML 文件,这些操作在以后的开发中经常会使用到。

SAX(Simple APIx for XML,操作XML 的简单接口) 与DOM操作不同的是,SAX 采用的是一种顺序的模式进行访问,是一种快速读取XML 数据的方式,当使用SAX 解析器进行操作时会触发一系列的事件。当扫描到文档(Document) 开始与结束、元素(Element) 开始与结束时都会调用相关的处理方法,并由这些操作方法作出相应的操作,直至整个文档扫描结束。

DOM 解析适合于对文件进行修改和随机存取的操作,但是不适合于大型文件的操作。

SAX 采用部分读取的方式,所以可以处理大型文件,而且只需要从文件中读取特定内容,SAX 解析可以由用户自己建立自己的对象模型。

DOM 与 SAX 的结合---JDOM

最出色的解析工具:DOM4J

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值