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
超级会员免费看
订阅专栏 解锁全文
450

被折叠的 条评论
为什么被折叠?



