javaXML文件处理的方法

Java的主要工作是通过编程语言来制作互联网页面、制作动态效果以及网站等技术,以下是小编为大家搜索整理的javaXML文件处理的方法,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!

XML技术是随着Java的发展而发展起来的。在XML出现之前对于简单的数据格式通常是存储在ini配置文件等文本文件中,复杂的格式则采用自定义的文件格式,因此对于每种文件格式都要有专门的解析程序。XML出现以后解决了这个问题,程序面对的是有固定格式的XML文件,只要通过标准API就可以进行XML文件的处理。 XML文件在案例系统中应用是很广泛的,比如ClientConfig.xml、ServerConfig.xml文件就是使用XML文件来做配置文件的,元数据文件以及元数据加载器更是离不开XML。因此本章将系统讲解一下XML文件的处理技术。

1.1XML处理技术比较 在Java领域XML文件的技术大致分为两类:XMLAPI和OXMapping。XMLAPI是XML处理的基础,可选技术包括JDOM、Dom4j等;OXMapping是Object-XMLMapping的简称,这种技术隐藏了XML底层操作的细节,可以将XML文件映射成一个JavaBean对象,也可以把一个JavaBean对象保存成一个XML文件,可选技术XStream、Digester、Castor等。XMLAPI和OXMapping的关系类似于JDBC和ORMaping的关系,OXMapping内部实现使用XMLAPI来完成,两种实现技术从不同的层面实现了XML的处理。

XMLAPI 此类XML处理技术中最流行的莫过于JDOM和Dom4j了,二者的使用方式非常相似。不过Dom4j的优势比JDOM更明显一些: Dom4j大量的使用接口,这使得Dom4j比Dom4j更加灵活和具有可扩展性; Dom4j的性能表现比JDOM好; Dom4j支持XPath等高级特性; 正是由于这些优点,很多开源项目都开始使用Dom4j做XML解析技术,本书也将使用Dom4j做为XML处理的首选。

OXMapping 使用XMLAPI解析是略显烦琐的,受ORMapping技术的启发,人们发明了OXMapping技术,使用OXMapping技术,我们可以将XML文件映射成一个JavaBean对象,也可以把一个JavaBean对象保存成一个XML文件,这大大简化了我们的开发工作量,使得开发人员能更多的关注应用层面的东西。 开源世界中涌现出很多OXMapping框架,包括XStream、Digester、Castor等。XStream和Digester把映射的过程在代码中完成,而Castor则需要写一个和Hibernate中cfg.xml类似的映射配置文件。

与Digester比起来,XStream的主要优点就是更加小巧,使用也更加方便,不过目前使用Digester是“开源名牌”Apache下的子项目,网上可以参考的.资料也比XStream多,好在XStream比较简洁,所以并不会对XStream造成太大影响。

【相关阅读】

java不用DOS窗口的技巧

用过Java的人都知道,每次运行Java程序都要打开一个可恶的Dos窗口,要是能像IE、Office等Windows程序一样运行该多好。也许有人会想到,JBuilder运行时不就没有Dos窗口吗,但它是用C或C++写的一个外壳程序,可惜我不会其它语言,那该怎么办?其实只要你善于观察、研究,有很多办法可以解决的。这里给你3个解决方法,让你的程序从此告别Dos窗口!

(一) 巧用JBuilder的外壳:

仔细观察JBuilder安装目录下的bin目录(注意,这里以JBuilder8为例,低版本的JBuilder会稍微有些不同),你会发现jbuilder.config、JBuilder.exe、JBuilderW.exe及jdk.config 4个文件,用记事本打开jdk.config文件,将第15行javapath ../jdk1.4/jre/bin/client/jvm.dll 改为你机器上jdk1.4的相应路径,同样要注意是jdk1.4,因为以前版本的jdk没有bin/client/jvm.dll文件,你可以使用绝对路径,如将其改为javapath D:/JBuilder8/jdk1.4/jre/bin/client/jvm.dll,然后再将21行addpath ../jdk1.4/lib/tools.jar改为你机器上相应路径,如addpath D:/JBuilder8/jdk1.4/lib/tools.jar,其它不需要修改,存盘后退出。再用记事本打开jbuilder.config文件,在addpath后加一行,将你的classpath加进去,如addbootpath .(我这里将类文件和上面4个文件放到了同一个目录下),然后将最好一行的mainclass com.borland.jbuilder.JBuilder改为你的主程序,如mainclass com.bhr.ioat.Test,保存退出。然后双击JBuilderW.exe试试看,是不是没有Dos窗口了。

注意,如果你要修改上面文件的名字时,一定要保证jbuilder.config、JBuilder.exe、JBuilderW.exe 3个文件的匹配,如改为Test.config、Test.exe、TestW.exe,任何的不匹配都可能运行不了你的程序。其实jbuilder.config文件主要就是classpath的设置,你可以根据需要删除里面好多内容的,留着你慢慢研究吧。

(二) 将你的程序打包成Jar文件:

首先要安装jdk,注意一定是那种exe的安装文件,虽然你可以从别的机器上copy一个安装过的jdk使用,但是这里不行,为什么?稍后再告诉你。装完Jdk以后,到安装目录的demo\jfc\Notepad下,双击Notepad.jar,怎么样,是不是没有Dos窗口了,秘密在哪里,有两点。(1)jdk在安装过程中会将jar文件的打开方式关联到javaw.exe文件。什么是javaw.exe?其实和java.exe一样,只不过运行程序时没有dos窗口。(2)就是那个jar文件了,如果你不会生成jar,还是先去查查别的资料吧。用winzip解开Notepad.jar,到META-INF目录下,打开MANIFEST.MF文件,看到了吧,里面有一句Main-Class: Notepad,换成你自己的类就可以了。需要注意的是Main-Class:后面有一个空格,如果少了的话,应该就起不来你的程序了。

(三) 通过Windows的start命令:

这个就简单多了,写一个启动你程序的批处理文件,一定要用javaw命令来运行,然后在javaw命令前加上start命令就可以了,如: set classpath=.%classpath%; set path= D:\JBuilder8\jdk1.4\bin;%path%; start javaw com.bhr.ioat.Test 不过这样有个问题,就是dos窗口会闪一下,然后再关掉,还算可以凑合。 上面只是提了3个方法,其中通过第一种方法的介绍,你可以举一反三,如用Intellj Idea的外壳也可以实现。虽然Dos窗口是没了,不过程序出的异常也同样看不到了,这里有几个方法可以弥补这个问题,(1)将你的输出重定向到文件;(2)程序中使用log4j做log(一定要catch住所有异常才可以)。