21、XML解析:DOM、SAX与JDOM的全面解析

XML解析:DOM、SAX与JDOM的全面解析

1. DTD与XML Schema

DTD(文档类型定义)存在一些缺点,它并非用XML定义,这意味着编写时需要学习另一种语法,因为它起源于SGML。具体问题如下:
- DTD与XML命名空间配合使用不便捷。
- 扩展DTD并非易事。
- 除文本外,无法在DTD中定义类型信息。
- 每个XML文档只能有一个DTD,所以在单个文档中不能对元素有不同定义,同时还能保证文档符合DTD。

为解决这些问题,W3C编写了XML Schema规范,它比DTD更灵活、强大。XML Schema用XML编写,允许:
- 指定XML文档的结构和约束。
- 定义新的数据类型。

更多关于XML Schema的信息可在W3C网站(http://www.w3.org)查询。

2. J2EE中的XML处理

J2EE包含Java API for XML Processing(JAXP),它让Java应用程序处理XML数据变得简单。JAXP涵盖三个主要标准:
- 文档对象模型(DOM):在内存中构建表示XML文档的树。
- 简单XML API(SAX):将XML解析为流。
- XML样式表语言转换(XSLT):将XML转换为不同格式。

JAXP为创建和使用不同供应商的SAX和DOM解析器提供了通用接口,相关API位于 javax.xml.parsers 包中。不同供应商提供各自的SAX和DOM解析器实现,但JAXP通过该包中的两个重要工厂类 DocumentBuilderF

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值