资源描述:
《基于jdom的xml数据解析技术内涵研究》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、从本学科出发,应着重选对国民经济具有一定实用价值和理论意义的课题。课题具有先进性,便于研究生提出新见解,特别是博士生必须有创新性的成果基于JDOM的XML数据解析技术内涵研究摘要:JDOM是XML文件的一种Java表示,它提供了一种表示文件的方法,可以方便有效地阅读、操作和书写文件,并致力于用0%的精力来解决80%的问题。JDOM有一个简单明了的API,既轻量又快速,它集成了DOM和SAX的优点,将两种技术整合到一起,使两者的配合更加自然和协调。本文着重论述JDOM的技术内涵、解析原理,给出了JDOM解析X
2、ML文件的关键代码,为XML的相关开发设计人员提供了一种更好的参考依据。关键词:JDOM;DOM;SAX;XML;Java 中图分类号:TN011-34;TP31文献标识码:A 文章编号:1004-373X(XX)22-0040-0 XMLDataAnalysisTechniqueBasedonJDOM LIUYu-xiao1,YANGYa-juan (1.XiangfanUniversity,Xiangfan41001,China;.NorthwestCivilAviationAirTraf
3、ficManagementBureau,Xi’an10082,China) Abstract:JDOMisakindofJavainXMLdocument,whichprovidedawaytoexpressdocumentinordertoread,operateandwriteconveniently.JDOMhasasimpleAPI,whichisslightandfast.APIcollectedthemeritsofDOMandSAXsothatbothcanworkinacoordinate
4、课题份量和难易程度要恰当,博士生能在二年内作出结果,硕士生能在一年内作出结果,特别是对实验条件等要有恰当的估计。从本学科出发,应着重选对国民经济具有一定实用价值和理论意义的课题。课题具有先进性,便于研究生提出新见解,特别是博士生必须有创新性的成果andnaturalway.ThetechnicalandtheanalysisprincipleofJDOM,andthekeycodeaboutXMLdocumentareanalyzed.AbetterreferenceisprovidedfortheXMLr
5、elateddevelopment:JDOM;DOM;SAX;XML;Java 0引言 JDOM是一个开源项目,它基于树型结构,利用纯Java技术对XML文档实现解析、生成、序列化以及多种操作。JDOM直接为Java编程服务,它利用更为强有力的Java语言的诸多特性(方法重载、集合概念以及映射),把SAX和DOM的功能有效地结合起来[1],在使用设计上尽可能地隐藏原来使用XML过程中的复杂性。利用JDOM处理XML文档将是一件轻松、简单的事。 1JDOM的解析原理 JDOM自身并没有XML解析器
6、,其解析XML文件时,通过SAX解析器读取事件流,根据这些事件来建立JDOM树[2]。同时,可以对解析器设置各种属性,包括ErrorHandler,DTDHandler,EntityResolver和基础SAXXMLReader支持的任何自定义特性和属性。与DOM不同的是,树中所有不同类型的节点都表示为具体类,而不表示为接口[3]。课题份量和难易程度要恰当,博士生能在二年内作出结果,硕士生能在一年内作出结果,特别是对实验条件等要有恰当的估计。从本学科出发,应着重选对国民经济具有一定实用价值和理论意义的课题。
7、课题具有先进性,便于研究生提出新见解,特别是博士生必须有创新性的成果 JDOM没有专门导航XML树型结构的方法,其导航树型结构通过Element类的getChildren()方法[4]。这种方法返回一个元素列表,包括一个元素的所有内容(说明、处理指令、文本接点和元素内容)[5]。要进行深度搜索,就要对当前元素的子元素应用getChildren()方法。 JDOM把不同的节点类型表示为10个具体类[6]。使用JDOM可以很方便地生成一个XML文件,相比DOM来说,其代码可以得到很大的简化[7]。但是,在导
8、航XML树型结构时,又比DOM复杂得多[8]。JDOM处理XML文件的流程见图1。 图1JDOM处理XML流程 JDOM解析XML文件的时序图见图2。 图JDOM解析XML文件时序图 JDOM解析XML文件的关键代码 JDOM解析XML文件的关键代码如下: import*; import*; import*; import*; publicclassJDOMReader{ publicsta