1.xml的定义用途
XML全称为 Extensible Markup Language,意思是可扩展的标记语言。XML语法上和HTML比较相似,但HTML中的元素是固定的,而XML的标签是可以由用户自定义的。W3C在1998年2月发布1.0版本,2004年2月又发布1.1版本,但因为1.1版本不能向下兼容1.0版本,所以1.1没人用。同时,在2004年2月W3C又发布了1.0版本的第三版。
常用的就是1.0版本。XML主要的用途就是分离数据和使用数据的应用程序。专注于对数据本身的描述,不涉及数据如何使用的信息,如表示格式的说明。文件本身的格式是自说明的。于是XML数据文件就很通用,各种语言都可以实现其PARSER。跨平台加标PARSER,相当适合平台/应用间交换数据之用。过去我们搞过EDI,用UN/EDIFACT标准,还有部颁平面文件标准。后来一看XML就感觉这个东西的妙处了。
2.工作原理
包括服务器端解析与客户端解析。
服务器端解析是通过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
性能优异、功能强大和易用使用
大量使用接口,灵活性高。
3.future of xml
一、XML可以将数据从HTML中分离出来
通常,你的HTML文件中包含了要显示的数据;但如果你使用XML,你的数据就可以单独存储在一个XML文件中;然后你就可以集中精力在HTML文件的布局和显示方面,并且以后修改数据只需要修改XML文件既可,而不用去动HTML文件。
XML的数据也可以作为一个数据块存储在HTML页面中。
二、XML可以用来交换数据
用XML你可以有两个不兼容的系统间交换数据。通常,开发人员不得不花大量的时间在两个不兼容的系统间交换数据,如果我们将数据转换为XML,那么这将大大降低数据交换的复杂性,并且不同类型的应用程序都可以读取它。
三、XML和商务通信
在internet上,交换金融信息将主要采用XML语言,很多有意义的商务通信应用程序都是在其下开发的。
四、共享数据
因为XML是以简单的文本格式存储的,因此在共享数据方面,XML提供了一独立于软硬件的方法。这使得创建被不同应用程序所使用的数据更容易。也使得系统的升级更容易。
五、存取数据
XML可用于将数据存储在文件或数据库中,应用程序能够存取和检索这些信息。一般的应用是显示这些信息。
六、创建新的语言
XML可以用来创建新的语言,WAP和WML就是由它创建的。