一、概念
可扩展标记语言 (Extensible Markup Language,XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输。XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
二、XML 实体:
三、XML规范
格式良好的XML必须满足XML 基本的语法规范,有效的XML除了要满足XML规范外,还要满足相应DTD和Schema定义的元素规则。
有效的XML一定是格式良好的,但格式良好的XML不一定是有效的。
四、XML解析技术:
1.文档对象模型(DOM),一种基于树结构的API。
2.XML简单API(SAX),一种事件驱动的API.
DOM解析:
1.基于树状结构的API
2.整个XML文档必须在内存中解析和存储
3.客户端应用程序就可以随机访问这些对象
4.大型文档则会造成内存紧张
SAX解析:
1.SAX提高一种用于解析XML文档的事件驱动模型,使用回调机制将事件通知应用程序
2.特点:
不必将整个文件加载到内存中,占有的内存少
不能对文档进行随机访问
SAX是只读的
文档只能遍历一次。
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
大量使用接口,灵活性高。