|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
你通过从书的数量和开发周期及运行速度来证明:net和ruby要比java简单。dom(陈广佳)
本文其实不企图对JDOM这类用于疾速开辟XML的第三方工具包举行细致的先容或要涵盖JDOM对XML的一切处置办法,由于这方面的文章及材料已很丰厚,仅但愿能经由过程自己利用JDOM举行详细开辟的事例给没有效过或刚入手下手利用JDOM的伴侣们一个对该API较具形状的一点认知。
项目概述和XMLAPI的选择--JDOMAPI
自己地点的出书社近期将中日韩文工具书转成了电子材料,在开辟教授教养多媒体的同时但愿可以开辟基于收集的电子辞典(先辈行日文外来语辞书的开辟),后一项目由自己卖力。因为项目将以JAPPLET作为客户真个选择,而词库材料以XML文档情势供应,因而我入手下手搜集JAVA对XML处置的相干材料。我开始是在JAVA.SUN.COM上看到JDOM的有关先容,在会见了JDOMORG的网站和看了几篇对JDOM叙说得很好的文章后,我决意利用JDOM来完成该项目中对XML的处置。
JDOMAPI版本是在JDOMORG高低载的JDOMBeta6,如今最新的版本是JDOMBeta7,相对Beta6,Beta7举行了极年夜的改善。(下载JDOM的最新版本)
我利用JBUILDER3举行开辟,JDOM必要做为一个增添的类库加进其JAVALibraries里。我的JDOM是装在E盘的根目次下,设置以下:
NAME:JDOM
CLASSPATH:E:jdom6btjdom-b6uildjdom.jar
SOURCEPATH:E:jdom6btjdom-b6srcjava.zip
DOCPATH:E:jdom6btjdom-b6uildjdom.jar
但JBUILDER5已对JDOM有间接的撑持,JDOMAPI已内嵌在其JAVALibraries里,如许我们利用JDOM就更便利。
词库数据材料XML文档布局
在该项目中XML的文档布局对照复杂,以<dict>为根,主体以日文片化名词条为单位(<word>),上面分离以<spell><prop><mean>各子元素对应片化名拼写、外来语拼写、中文注释各项内容:
该项目中,所利用的XML并非利用JDOM天生,但要利用JDOM天生一样的XML布局也是很复杂的,以下是复杂完成代码片断:
因为要撑持多国语,以是XML以UTF-8编码,这里必要申明的是,JDOM的XMLOutputer默许输入字符编码为UTF-8,假如要输入别种编码,可以使用outputter.setEncoding()举行设定(请参考http://www.jdom.org/docs/faq.html)。在该FAQ里只申明了OUTPUT的编码情形,可是并没有申明JDOM在输出处置XML时对编码的请求,我入手下手利用时XML文档是以UCS-2编码的,但JDOM其实不能一般处置,呈现的毛病:
org.jdom.JDOMException:Errorinbuilding:Thename""isnotlegalforJDOM/XMLelements:XMLnamescannotbenullorempty
在改用了UTF-8编码后,JDOM对XML的处置就可以一般举行,不知是不是与JAVA外部的UNICODE编码于外来文件的UNICODE编码上下字节有关(关于处置一样平常的UNICODE文件,在输出时,必要把文件的上下字节交换才干使JAVA对其举行无误的处置),我临时还没找到有关的材料。
利用JDOM完成电子辞典的词条查询功效
要完成的查询功效次要有两个,①按日文片化名含混查询、②按外来语含混查询:
(这里的含混查询只展现复杂的首字符不异&字符数不异的查找法例)这里仅挑取与JDOM有关的语句展现:
利用JDOM为XML文档增添子元素
为了要往XML材料文档里增添韩国方面将完成的韩文翻译寄存空间,必要往XML文档里增添子元素-koreamean,增添子元素的完成与下面所先容的天生XML文档差未几,仅借此复杂举一个JDOM文档输入的例子,和提一下自己在处置时所碰到的一些成绩。
程序片断:
了局:
我起首利用的是用FileWrieter类输入,输入的效果是能够输入XML档,却呈现不克不及把一切内容全体输入的情形,最初一部分的词条被漏掉,嫌疑是利用FileWriter类输入文件长度受限定的缘故原由。
因而利用FileOutputStream类举行从头输入,输入了局就完整准确了。
小结
JDOM具有丰厚、壮大的XML处置才能,本文仅用实例无限的展现了个中几项经常使用的功效,信任跟着JDOM正式被承受成为Java标准请求,它的使用愈来愈广范,读者们会看到更多更体系的对JDOM的使用例示。
参考材料
JDOMORG网站
JSRs:JavaSpecificationRequestsDetail--JSR102JDOM1.0
EasyJava/XMLintegrationwithJDOM--ByJasonHunterandBrettMcLaughlinhttp://www.javaworld.com/javaworld/jw-05-2000/jw-0518-jdom.html
http://www.ibiblio.org/xml/slides/nypc/jdom/
先说优点,首先和C,C++这些语言比起来,java很简单,去掉指针的java,非常好理解,自动垃圾回收机制也很好,自从JDK1.5推出以后,性能上又有了很大提高。 |
|