论文网首页|会计论文|管理论文|计算机论文|医药学|经济学论文|法学论文|社会学论文|文学论文|教育论文|理学论文|工学论文|艺术论文|哲学论文|文化论文|外语论文|论文格式
中国论文网

用户注册

设为首页

您现在的位置: 中国论文网 >> 计算机论文 >> 计算机应用论文 >> 正文 会员中心
 计算机应用论文   计算机理论论文   计算机网络论文   电子商务论文   软件工程论文   操作系统论文   通信技术论文
基于JDOM的XML数据解析技术内涵研究
摘 要:jdom是xml文件的一种java表示,它提供了一种表示文件的方法,可以方便有效地阅读、操作和书写文件,并致力于用 20%的精力来解决80%的问题。jdom有一个简单明了的api,既轻量又快速,它集成了dom和sax的优点,将两种技术整合到一起,使两者的配合更加自然和协调。本文着重论述jdom的技术内涵、解析原理,给出了jdom解析xml文件的关键代码,为xml的相关开发设计人员提供了一种更好的参考依据。关键词:jdom; dom; sax; xml; java
  中图分类号:tn011-34; tp312 文献标识码:a
  文章编号:1004-373x(2010)22-0040-02
  
  xml data analysis technique based on jdom
  liu yu-xiao1, yang ya-juan2
  (1. xiangfan university, xiangfan 441001, china; 2. northwest civil aviation air traffic management bureau, xi’an 710082, china)
  abstract: jdom is a kind of java in xml document, which provided a way to express document in order to read,operate and write conveniently. jdom has a simple api, which is slight and fast. api collected the merits of dom and sax so that both can work in a coordinate and natural way. the technical and the analysis principle of jdom, and the key code about xml document are analyzed. a better reference is provided for the xml related development designers.keywords:jdom; dom; sax; xml; java
  
  0 引 言
  jdom是一个开源项目,它基于树型结构,利用纯java技术对xml文档实现解析、生成、序列化以及多种操作。WWw.11665.coMjdom 直接为java编程服务,它利用更为强有力的java语言的诸多特性(方法重载、集合概念以及映射),把sax和dom的功能有效地结合起来[1],在使用设计上尽可能地隐藏原来使用xml过程中的复杂性。利用jdom处理xml文档将是一件轻松、简单的事。
  1 jdom的解析原理
  jdom自身并没有xml解析器,其解析xml文件时,通过sax解析器读取事件流,根据这些事件来建立jdom树[2]。同时,可以对解析器设置各种属性,包括errorhandler,dtdhandler,entityresolver和基础sax xmlreader支持的任何自定义特性和属性。与dom不同的是,树中所有不同类型的节点都表示为具体类,而不表示为接口[3]。
  jdom没有专门导航xml树型结构的方法,其导航树型结构通过element类的getchildren()方法[4]。这种方法返回一个元素列表,包括一个元素的所有内容(说明、处理指令、文本接点和元素内容)[5]。要进行深度搜索,就要对当前元素的子元素应用getchildren()方法。
  jdom把不同的节点类型表示为10个具体类[6]。使用jdom可以很方便地生成一个xml文件,相比dom来说,其代码可以得到很大的简化[7]。但是,在导航xml树型结构时,又比dom复杂得多[8]。jdom处理xml文件的流程见图1。
  图1 jdom处理xml流程
  jdom解析xml文件的时序图见图2。
  图2 jdom解析xml文件时序图
  2 jdom解析xml文件的关键代码
  jdom解析xml文件的关键代码如下:
  import java.io.*;
  import java.util.*;
  import org.jdom.*;
  import org.jdom.input.*;
  public class jdomreader {
  public static void main(string args[ ]) {
  try {
   saxbuilder builder = new saxbuilder();
  document doc = builder.build(new file("xxx.xml"));
  element foo = doc.getrootelement();
  list allchildren = foo.getchildren();
  for(int i=0;i  sytem.out.println(((element)allchildren.get(i)).
  getchild().getattribute());
  sytem.out.println(((element)allchildren.get(i)).
  getchild().gettext());
  }
  }
  catch (exception e) {
  e.printstacktrace();
  }
  }
  }

3 结 语
  jdom与dom主要有两方面不同。首先,jdom仅使用具体类而不使用接口,这在某些方面简化了api,但是也限制了灵活性;其次,api大量使用了collections类,简化了那些已经熟悉这些类的java开发者的使用[9]。
   编辑整理
  参考文献
  [1]哈罗德.java 语言与xml处理教程:sax,dom,jdom,jaxp与trax指南[m].北京:电子工业出版社,2003.
  [2]w3c. w3c document object model (dom)[r/ol].[2005-11-07].http://xml.coverpages.org/dom.html.
  [3]jdom. jdom v1.0 api specification[r/ol].[2005-06-17]./docs/apidocs/.
  [4]saxproject. sax 2.0 extensions[r/ol].[2005-06-07]./about.html.
  [5]biggs wes, evans harry. simplify xml programming with jdom[j/ol].[2005-06-18]./ developerworks/library/j-jdom/index.htm.
  [6]hunter jason. jdom and xml parsing[j/ol]. part 1.[2005-06-23]./technology/oramag/oracle/ 02-sep/o52jdom.html.
  [7]mertz david. xml matters: the xom java xml api[j/ol].[2005-07-01]./developerworks/ library/ x-matters32.html.
  [8]dom4j. xml api for java comparison[eb/ol].[2005-07-07]./compare.html.
  [9]sosnoski dennis m. java中的xml: 文档模型,第一部分:性能[j/ol]. [2005-07-09]./ developerworks/cn/xml/x-injava.
  • 上一个计算机论文:
  • 下一个计算机论文:
  •  作者:刘雨潇 [标签: 数据 技术 ]
    姓 名: *
    E-mail:
    评 分: 1分 2分 3分 4分 5分
    评论内容:
    发表评论请遵守中国各项有关法律法规,评论内容只代表网友个人观点,与本网站立场无关。
    课堂教学中的讨论现象—基于群体动力学理论
    基于远程虚拟数字电路实验仿真技术的研究
    基于Si4432的散射式大气低能见度仪设计
    基于AT89C2051倒车防撞超声波报警系统设计
    基于ARM控制的1KW零电压零电流全桥DC/DC变换
    基于AHP的特殊电梯开发项目风险评价
    电网运行基于精细化管理的方式探讨
    基于公平视角的买方垄断市场信任机制实证研
    论基于Intranet技术的计算机通信网络的即时
    中国区域消费价格水平差异研究:基于面板门
    基于项目驱动模式下的“软件工程”教学改革
    基于软件工程开发的企业本体构建研究
    | 设为首页 | 加入收藏 | 联系我们 | 网站地图 | 手机版 | 论文发表

    Copyright 2006-2013 © 毕业论文网 All rights reserved 

     [中国免费论文网]  版权所有