分享
 
 
 

Java与XML联合编程

王朝java/jsp·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

从XML诞生之日起,它就一直是业界的焦点话题之一。经过了几年的发展,XML技术日趋成熟,现在越来越多的应用都是基于XML开发的。在Internet日益普及的今天,分布式编程日显重要,越来越多的应用都开始向这一方向转型。在这一领域中,XML作为一种中间的数据接口,已经显示出其不可替代的重要性。与此同时,Java语言开发Internet分布式应用程序的潜力也被越来越多的人看好,EJB体系结构也日渐成熟。利用Java,人们可以很迅速的开发出可移植的、弹性好的、易于治理的分布式应用程序。

Java语言一直都被认为是最适合进行XML编程的语言之一。与平台无关的语言Java加上与平台无关的数据XML,确实能够完成最为复杂且弹性最好的分布式应用。

在Java应用中引入XML,其实并不是很难,而且已经有诸多规范和诸多的类库开发出来,以简化Java中的XML的编程。在这些规范中,最为流行的就是SAX和DOM,后者也是W3C所推荐的标准。而支持XML的Java类库更是不胜枚举,除了Sun所发布的JXAP之外,还有像IBM、Microsoft等巨头所提供的类似产品。而且,这些产品大多都是免费的,用起来不用花一分钱。所有的这些规范和类库,已经在很大程度上简化了XML编程的复杂系数,你只需要了解这些规范和JXAP所定义的API,就已经能够进行XML编程了。而我们这篇文章的目的,也就是为大家介绍这些规范和API。相信读完本文后,您就不会再认为XML编程是多么困难的事了。

背景知识

关于XML的讨论已经很多了,对于XML的看法也是见仁见智。要给XML下一个确切的定义是一件很困难的事情,但我们可以从下面四个方面来看:

1.XML是一种被设计成方便的用来在Internet上传播的标记语言。XML与SGML兼容(确切的说是SGML的一个简化了的子集),并且能够很轻易的在任何文本编辑器中进行浏览和编辑。

2.XML用来定义数据的逻辑结构,用树的方式将所有的数据组织起来,这使得XML文档很轻易理解和处理。而XML文档的结构是通过DTD或者Schema预先定义的,这使得XML中的数据在特定的应用中都能够有确切的含义。

3.XML是一种定义严格的语言,它几乎没有定义什么可选的特性。这使得XML达到了最大程度的通用性,任何与XML兼容的解析器都可以对一个合法的XML文档进行解析而不会出现任何错误。这样,XML就能够作为一种最广义的中介,在各种平台,各种语言和各种程序中流通。

4.XML是一种用来定义数据和原数据的语法,这就使得你能够定义数据本身。这也是XML最重要的特性之一,因为从理论上讲,任何东西都可以用数据进行描叙。也就是说,由于XML提供了描叙数据的方法,因而也就具备了描叙任何事物的能力。

关于XML的应用,我们举一个简单的例子来看看它的威力所在。

现在的大部分网站都是用Html编写的。网页设计师们精心设计的网页,能够在Web浏览器上很漂亮的显示出来,但是假如想把这些网页所包含的内容重新设计在一本书中的话,显然,浏览器上的漂亮内容就不能很方便的在书中体现出来了。我们知道,HTML是一种结构性很差的语言,它将显示和内容紧密的结合在一起,要将内容有选择的从HTML文件中分离出来是非常困难的,非凡是在那些设计精美的网页中。这时候,或许唯一的办法就是重新进行设计了。但是,XML的出现为解决这种问题提供了一种良好的解决方案。

因为XML只是定义数据,它并不关心数据是如何显示的,所以用XML设计出的网站其内容和显示是分离的。一般的网页是通过XSLT对给定的XML文档进行变换之后生成的。现在我们要将网站的内容放在一本书中,只需要重新定义XSLT,给出变化规则,就可以将内容完美的再现在另外的一种形式中了。

上面所讲述的只是XML应用的一个重要方面,实际上现在XML的应用远远不止如此,很多协议比如SOAP,都是基于XML的。

下面的内容,就是具体的XML编程了。由于本文假定您已对Java语言(或者其它面向对象的语言)有了一定的了解,因而对一些关于语言的细节问题,就不再赘述了。

请看:Java与XML联合编程之DOM篇、Java与XML联合编程之SAX篇。: 本文源代码下载:

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有