- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于JDOMXML文档解析研究
基于JDOMXML文档解析研究
摘要:WEB应用开发中,经常需要对XML文档进行操作。采用JDOM这种Java专用的处理XML文档的新型API,介绍了JDOM的产生和特点,以及它在处理XML文档中的优势,并通过实例说明利用JDOM实现对XML文档的解析。
关键词:XML文档;JDOM;JAVA
中图分类号:TP311文献标识码:A文章编号:1007-9599 (2012) 06-0000-02
一、引言
在WEB开发中,XML作为一种通用数据交换工具,其作用非常重要,针对XML文档的操作亦成为常事,相关XML文件的处理组件便不断出现,DOM和SAX是常用的两种。它们虽然都能实现对XML文档的操作,但缺陷也很明显。例如,DOM是用IDL定义的跨语言API,只限于所有编程语言都能提供的特性和类,这样既不能充分利用Java,也不符合Java的最佳做法、命名规则和编码标准。另外,DOM通过在内存中建立一个XML元素树实现对XML数据的访问,其缺点是维护一个树形数据结构需占用大量内存资源。SAX面向标签采用回调方式访问XML,不需建立树,内存占用少,缺点是SAX只能进行顺序检索,不支持随机访问文件,很少被单独使用。为解决以上问题,JDOM作为一种新的XML文档处理组件出现。JDOM基于树型结构,是一个开放源代码API,采用纯Java技术实现对XML文档的分析、建立、处理和序列化。
JDOM结合了SAX与DOM的优点。与DOM相似,JDOM将XML文档表示为树,包括元素、属性、处理指令、说明等,树的数据可以来自Java程序中的直接量、计算结果或数据库之类的非XML库。JDOM自身不带分析器,将XML文档读取到JDOM中时,是采用SAX分析器。另外,JDOM亦可将DOM Document对象转换成JDOM Document对象,从而将DOM程序的输出导向JDOM程序的输入。JDOM既能读入DOM或SAX的数据,也能输出DOM和SAX可接收的格式。
二、JDOM包
JDOM的最新版本可从http://省略下载,这里以JDOM1.0为例,主要包括以下几个包:
org.jdom包,解析XML文件用到的所有数据类型的Java类;org.jdom.input包,包含读取XML文档的类;org.jdom.adapters包,是与DOM适配的java类;org.jdom.filter包,XML文档过滤器类;org.jdom.transform包,将JDOM XML文档转换为其他XML文档接口;org.jdom.output包,用于文档转换输出。
三、利用JDOM解析XML文档
JDOM可用来解析现有XML文档,且十分方便。大致过程说明如下:
(一)构造一个org.jdom.input.SAXBuilder对象,采用简单无变元构造函数:
SAXBuilder sb=new SAXBuilder();
(二)从Reader,InputStream,URL,File或包含系统ID的字符串,用建立器的build()方法建立Document对象:
Document myDocument=sb.build(/dir/myFile.xml);
(三)如读取文档发生问题,则抛出IOException;如建立文档时发生问题,则抛出JDOMException。
(四)如没发生问题,则用Document类、Element类和其他JDOM类的方法在文档中导航。
四、解析实例
下面通过实例说明JDOM解析XML文档的过程。XML文档示例:
001
C语言
002
Basic语言
用于解析XML文档的JAVA源代码框架如下:
public class XmlEdit
{
public XmlEdit(){}
public static void main(String args[])
{//读取文件信息
FileInputStream fileIn=null;
FileOutputStream fileOut=null;
try{
fileIn=new FileInputStream(c:\\lessons.xml);
SAXBuilder sl=new SAXBuilder();
Document doc=sl.build(fileIn);
Element people=doc.getRootElement();
List memberlist=people.getChildren();
/
文档评论(0)