999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于JDOM的XML數(shù)據(jù)解析技術(shù)內(nèi)涵研究

2010-04-12 00:00:00劉雨瀟,楊雅娟
現(xiàn)代電子技術(shù) 2010年22期

摘 要:JDOM是XML文件的一種Java表示,它提供了一種表示文件的方法,可以方便有效地閱讀、操作和書寫文件,并致力于用 20%的精力來解決80%的問題。JDOM有一個簡單明了的API,既輕量又快速,它集成了DOM和SAX的優(yōu)點(diǎn),將兩種技術(shù)整合到一起,使兩者的配合更加自然和協(xié)調(diào)。本文著重論述JDOM的技術(shù)內(nèi)涵、解析原理,給出了JDOM解析XML文件的關(guān)鍵代碼,為XML的相關(guān)開發(fā)設(shè)計人員提供了一種更好的參考依據(jù)。關(guān)鍵詞:JDOM; DOM; SAX; XML; Java

中圖分類號:TN011-34; TP312 文獻(xiàn)標(biāo)識碼: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是一個開源項目,它基于樹型結(jié)構(gòu),利用純Java技術(shù)對XML文檔實現(xiàn)解析、生成、序列化以及多種操作。JDOM 直接為Java編程服務(wù),它利用更為強(qiáng)有力的Java語言的諸多特性(方法重載、集合概念以及映射),把SAX和DOM的功能有效地結(jié)合起來[1],在使用設(shè)計上盡可能地隱藏原來使用XML過程中的復(fù)雜性。利用JDOM處理XML文檔將是一件輕松、簡單的事。

1 JDOM的解析原理

JDOM自身并沒有XML解析器,其解析XML文件時,通過SAX解析器讀取事件流,根據(jù)這些事件來建立JDOM樹[2]。同時,可以對解析器設(shè)置各種屬性,包括ErrorHandler,DTDHandler,EntityResolver和基礎(chǔ)SAX XMLReader支持的任何自定義特性和屬性。與DOM不同的是,樹中所有不同類型的節(jié)點(diǎn)都表示為具體類,而不表示為接口[3]。

JDOM沒有專門導(dǎo)航XML樹型結(jié)構(gòu)的方法,其導(dǎo)航樹型結(jié)構(gòu)通過Element類的getChildren()方法[4]。這種方法返回一個元素列表,包括一個元素的所有內(nèi)容(說明、處理指令、文本接點(diǎn)和元素內(nèi)容)[5]。要進(jìn)行深度搜索,就要對當(dāng)前元素的子元素應(yīng)用getChildren()方法。

JDOM把不同的節(jié)點(diǎn)類型表示為10個具體類[6]。使用JDOM可以很方便地生成一個XML文件,相比DOM來說,其代碼可以得到很大的簡化[7]。但是,在導(dǎo)航XML樹型結(jié)構(gòu)時,又比DOM復(fù)雜得多[8]。JDOM處理XML文件的流程見圖1。

圖1 JDOM處理XML流程

JDOM解析XML文件的時序圖見圖2。

圖2 JDOM解析XML文件時序圖

2 JDOM解析XML文件的關(guān)鍵代碼

JDOM解析XML文件的關(guān)鍵代碼如下:

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 結(jié) 語

JDOM與DOM主要有兩方面不同。首先,JDOM僅使用具體類而不使用接口,這在某些方面簡化了API,但是也限制了靈活性;其次,API大量使用了Collections類,簡化了那些已經(jīng)熟悉這些類的Java開發(fā)者的使用[9]。

參考文獻(xiàn)

[1]哈羅德.Java 語言與XML處理教程:SAX,DOM,JDOM,JAXP與TrAX指南[M].北京:電子工業(yè)出版社,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].http://www.jdom.org/docs/apidocs/.

[4]Saxproject. SAX 2.0 extensions[R/OL].[2005-06-07].http://www.saxproject.org/about.html.

[5]BIGGS Wes, EVANS Harry. Simplify XML programming with JDOM[J/OL].[2005-06-18].http://www-128.ibm.com/ developerworks/library/j-jdom/index.htm.

[6]HUNTER Jason. JDOM and XML parsing[J/OL]. Part 1.[2005-06-23].http://www.oracle.com/technology/oramag/oracle/ 02-sep/o52jdom.html.

[7]MERTZ David. XML matters: the XOM Java XML API[J/OL].[2005-07-01].http://www-128.ibm.com/developerworks/ library/ x-matters32.html.

[8]DOM4J. XML API for Java comparison[EB/OL].[2005-07-07].http://www.dom4j.org/compare.html.

[9]SOSNOSKI Dennis M. Java中的XML: 文檔模型,第一部分:性能[J/OL]. [2005-07-09].http://www-128.ibm.com/ developerworks/cn/xml/x-injava.

主站蜘蛛池模板: 精品国产成人国产在线| 亚洲国产日韩欧美在线| 免费可以看的无遮挡av无码| 亚洲欧美不卡| 久久精品中文字幕少妇| 亚洲AV电影不卡在线观看| 波多野结衣中文字幕一区二区| 亚洲视频一区| 午夜毛片免费观看视频 | 国产精品专区第1页| 亚洲AV电影不卡在线观看| 欧美色视频在线| 亚洲国产精品VA在线看黑人| 九九久久精品国产av片囯产区| 国产精品女主播| 手机在线免费毛片| 欧美日韩国产系列在线观看| 久久精品国产999大香线焦| 国产精品嫩草影院视频| 无码视频国产精品一区二区 | 精品久久蜜桃| 乱人伦视频中文字幕在线| 日韩高清在线观看不卡一区二区| 亚洲精品卡2卡3卡4卡5卡区| 国产精品观看视频免费完整版| 欧美成一级| 九九视频免费在线观看| 青青草原国产av福利网站| 免费看黄片一区二区三区| 四虎免费视频网站| 麻豆AV网站免费进入| 国产一区在线观看无码| 亚洲欧美天堂网| 97超级碰碰碰碰精品| 国产伦精品一区二区三区视频优播| 国产亚洲欧美在线中文bt天堂| 午夜高清国产拍精品| 国产毛片网站| 国产午夜无码片在线观看网站| 91午夜福利在线观看| 免费网站成人亚洲| 中文字幕亚洲无线码一区女同| 欧美精品一区在线看| 国产永久在线视频| 国内精品视频| 午夜不卡视频| 毛片免费高清免费| 国产成人禁片在线观看| 亚洲天堂精品在线| 精品第一国产综合精品Aⅴ| 亚洲成a人片77777在线播放| 韩国福利一区| 欧美综合成人| 国产精品人成在线播放| 亚欧成人无码AV在线播放| 日本伊人色综合网| 亚洲国产成人麻豆精品| 在线观看亚洲精品福利片| 久久性视频| 5388国产亚洲欧美在线观看| 国产美女91视频| 精品一区二区三区自慰喷水| 日韩av在线直播| 欧美一区中文字幕| 亚洲欧美日韩中文字幕一区二区三区 | 国产精品综合久久久 | 精品久久人人爽人人玩人人妻| 91丝袜美腿高跟国产极品老师| 日本欧美中文字幕精品亚洲| 欧美性色综合网| 亚洲视频影院| 草逼视频国产| 欧美在线综合视频| 亚洲黄网视频| 无码中文AⅤ在线观看| 亚洲综合色区在线播放2019| 久久6免费视频| 精品综合久久久久久97超人| 黄色免费在线网址| 国产伦精品一区二区三区视频优播 | 97se综合| 欧美午夜在线观看|