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

基于JDOM的XML數據解析技術內涵研究

2010-04-12 00:00:00劉雨瀟,楊雅娟
現代電子技術 2010年22期

摘 要: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文檔實現解析、生成、序列化以及多種操作。JDOM 直接為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].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五码区| 亚洲国产成人精品一二区 | 一级黄色片网| 中文字幕丝袜一区二区| 亚洲欧美另类色图| 亚洲 日韩 激情 无码 中出| 久久久久青草大香线综合精品| 91激情视频| 久久久精品无码一区二区三区| 色综合日本| 色香蕉网站| 中文字幕调教一区二区视频| 欧美国产日本高清不卡| 啪啪永久免费av| 国产精品视频观看裸模| 日韩欧美国产成人| 日韩毛片免费观看| 国产精品林美惠子在线观看| 九九九精品成人免费视频7| 国产在线八区| 九九热视频精品在线| 欧美国产综合视频| 国产亚洲日韩av在线| 国产91色在线| h网址在线观看| 成人国产一区二区三区| 99久久免费精品特色大片| 国产一二视频| 成人综合在线观看| 美女毛片在线| 中文字幕乱码二三区免费| 日韩中文无码av超清| 国产十八禁在线观看免费| 青青草原国产精品啪啪视频| 亚洲视频在线观看免费视频| 99在线视频免费观看| 91成人在线观看| 中文纯内无码H| 亚洲视频免| 久久精品国产一区二区小说| 欧美色99| 免费xxxxx在线观看网站| 亚洲嫩模喷白浆| 欧美成人怡春院在线激情| 亚洲成综合人影院在院播放| 一区二区三区毛片无码| 欧美日韩国产一级| 久久综合色天堂av| 精品国产aⅴ一区二区三区| 在线观看欧美精品二区| 蝴蝶伊人久久中文娱乐网| 国产丝袜无码精品| 东京热一区二区三区无码视频| 国产麻豆精品手机在线观看| 国产精品久久精品| 国产精品短篇二区| 欧美在线伊人| 欧美天堂久久| 一本色道久久88| www.99精品视频在线播放| 亚洲日韩久久综合中文字幕| 91精品国产福利| 高清不卡一区二区三区香蕉| 青青草原国产精品啪啪视频| 久久性视频| 鲁鲁鲁爽爽爽在线视频观看| 91精品专区| 色窝窝免费一区二区三区| 欧美午夜在线播放| 刘亦菲一区二区在线观看| 免费无码又爽又刺激高| 亚洲成网777777国产精品| 中文无码精品a∨在线观看| 日韩中文欧美| 国产女人水多毛片18| 青青草一区| 欧美狠狠干| 国产日韩AV高潮在线| 国产精品久久自在自线观看|