Java与XML联合编程

xml|编程

  从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语言(或者其它面向对象的语言)有了一定的了解,因而对一些关于语言的细节问题,就不再赘述了。

http://www.ccidnet.com/tech/code/011008/jxsource.zip

时间: 2024-10-25 15:07:09

Java与XML联合编程的相关文章

Java更新XML的四种常用方法简介

xml 本文简要的讨论了Java语言编程中更新XML文档的四种常用方法,并且分析这四种方法的优劣.其次,本文还对如何控制Java程序输出的XML文档的格式做了展开论述. JAXP是Java API for XML Processing的英文字头缩写,中文含义是:用于XML文档处理的使用Java语言编写的编程接口.JAXP支持DOM.SAX.XSLT等标准.为了增强JAXP使用上的灵活性,开发者特别为JAXP设计了一个Pluggability Layer,在Pluggability Layer的支

研究 Java 中 XML 文档模型的特性和性能

xml|性能 Java 中的 XML: 文档模型,第一部分:性能 研究 Java 中 XML 文档模型的特性和性能 文档选项 将此页作为电子邮件发送 最新推荐 Java 应用开发源动力 - 下载免费软件,快速启动开发 级别: 初级 Dennis M. Sosnoski, 总裁, Sosnoski Software Solutions, Inc. 2001 年 9 月 01 日 在本文中,Java 顾问 Dennis Sosnoski 比较几个 Java 文档模型的性能和功能.当选择模型时,无法做

Java 和 XML 为何将成功

xml 在过去几年中,计算的注意力已经逐渐远离原始技术,并且最近大多数已经在确定一个总体拥有成本 (TCO) 的解决方案上.但是什么构成 TCO 呢?本文讨论了一个典型计算机系统中的互连复杂性是如何影响 TCO 的.而这种互连复杂性正是 Java 技术和 XML 能够处理的. x 什么构成了总体拥有成本 (TCO) 呢?这很难说,每个人都有不同的答案.通常取决于他们找到的最方便解决问题的方法.大多数人都同意 TCO 并不只是组成系统各零件价格的总和.最初是这样,但到最后大部分成本来自支持环境中的

Java Socket聊天室编程(一)之利用socket实现聊天之消息推送_java

相关阅读:Java Socket聊天室编程(二)之利用socket实现单聊聊天室 网上已经有很多利用socket实现聊天的例子了,但是我看过很多,多多少有一些问题存在. 这里我将实现一个比较完整的聊天例子,并解释其中的逻辑. 由于socket这一块比较大,所以我将分出几篇来写一个比较完整的socket例子. 这里我们先来实现一个最简单的,服务器与客户端通讯,实现消息推送的功能. 目的:服务器与客户端建立连接,客户端可以向服务器发送消息,服务器可以向客户端推送消息. 1,使用java建立socke

Java解析xml的四种方法汇总_java

1. DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作.由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的.DOM以及广义的基于树的处理具有几个优点.首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改.它还可以在任何时候在树中上下导航,而不是像SAX

浅析VC与Matlab联合编程(三)

在"浅析VC与Matlab联合编程<一>"和"浅析VC与Matlab联合编程<二>"中介绍了matcom,这个工具可以将用matlab写的m文件翻译成C++文件,或者是可执行文件(exe)或库文件(dll).但是matcom在很多方面也有限制,比如,对struct等类的支持有缺陷,部分绘图语句无法实现或得不到准确图象,尤其是三维图象. 实际上VC与matlab的接口实现方法有很多种,matcom只是其中一种,本文再介绍一种比较容易实现的方法:

精通VC与MATLAB联合编程(七)

MATLAB Compiler 是MATLAB自带的一个编译器,它能将m文件转化成 C.C++或p等各种类型的源代码,并根据需要生成可执行文件.lib文件(库文件).dll文件或S函数文件等.MATLAB 6.5 使用的编译器包括了MATLAB 的C\C++数学库函数以及图形库.动态链接库(dll)是编写软件中常用的一种技术,MATLAB提供了将M文件编制成dll文件的方法,本文就介绍如何在MATLAB6.5中将m文件z转化成dll文件,然后在VC中调用该dll文件. 1.必须保证编译器的正确配

Java、XML、C#激情碰撞

xml   在微软与Sun公司为了Java的司法诉讼迈入第三个年头之际,视窗程序设计师不禁怀疑:Java有这么重要吗? 三年多前,Sun公司控告微软不支付Java授权费时,微软正在研发自己的Java版本,这种基于Sun的Java技术为基础的语言称为「J++」.但最近几个月来,微软改弦易辙,开始发展新的电脑语言「C#」,以与Java匹敌. 微软目前已宣布放弃Visual J++,今夏该公司的高层主管表示,微软未来发表的研发套装工具Visual Studio.Net中,将不把Visual J++列入

写了一个Java读取XML文件的工具类

xml 如果我们有下面的一个XML文件,可以把它想象成一个Relation Database中的Table, 这个XML文件就是一个名字为managers的关系表,而一个<manager>所包含的就是一条记录(Record),而manager中的service和implementation就是一个个的栏位(Field) ! managers table  +  service implementation net.csdn.blog.xport.IDBConnectionManager net