中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

網(wǎng)站建設(shè):如何在JAVA中解析XML格式文檔

2023-05-12    分類: 網(wǎng)站建設(shè)

可擴(kuò)展標(biāo)記語(yǔ)言 (Extensible Markup Language, XML) ,用于標(biāo)記電子文件使其具有結(jié)構(gòu)性的標(biāo)記語(yǔ)言,可以用來(lái)標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對(duì)自己的標(biāo)記語(yǔ)言進(jìn)行定義的源語(yǔ)言。 XML是標(biāo)準(zhǔn)通用標(biāo)記語(yǔ)言 (SGML) 的子集,非常適合 Web 傳輸。XML 提供統(tǒng)一的方法來(lái)描述和交換獨(dú)立于應(yīng)用程序或供應(yīng)商的結(jié)構(gòu)化數(shù)據(jù)?!?/p>

XML現(xiàn)在已經(jīng)成為一種通用的數(shù)據(jù)交換格式,它的平臺(tái)無(wú)關(guān)性,語(yǔ)言無(wú)關(guān)性,系統(tǒng)無(wú)關(guān)性,給數(shù)據(jù)集成與交互帶來(lái)了極大的方便。對(duì)于XML本身的語(yǔ)法知識(shí)與技術(shù)細(xì)節(jié),需要閱讀相關(guān)的技術(shù)文獻(xiàn),這里面包括的內(nèi)容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definition),XSLT(Extensible Stylesheet Language Transformations。主要包括以下四個(gè)方面:
1.DOM生成和解析XML文檔
為XML文檔的已解析版本定義了一組接口。解析器讀入整個(gè)文檔,然后構(gòu)建一個(gè)駐留內(nèi)存的樹(shù)結(jié)構(gòu),然后代碼就可以使用 DOM 接口來(lái)操作這個(gè)樹(shù)結(jié)構(gòu)。優(yōu)點(diǎn):整個(gè)文檔樹(shù)在內(nèi)存中,便于操作;支持刪除、修改、重新排列等多種功能;缺點(diǎn):將整個(gè)文檔調(diào)入內(nèi)存(包括無(wú)用的節(jié)點(diǎn)),浪費(fèi)時(shí)間和空間;使用場(chǎng)合:一旦解析了文檔還需多次訪問(wèn)這些數(shù)據(jù);硬件資源充足(內(nèi)存、CPU)。
2.SAX生成和解析XML文檔
為解決DOM的問(wèn)題,出現(xiàn)了SAX。SAX ,事件驅(qū)動(dòng)。當(dāng)解析器發(fā)現(xiàn)元素開(kāi)始、元素結(jié)束、文本、文檔的開(kāi)始或結(jié)束等時(shí),發(fā)送事件,程序員編寫響應(yīng)這些事件的代碼,保存數(shù)據(jù)。優(yōu)點(diǎn):不用事先調(diào)入整個(gè)文檔,占用資源少;SAX解析器代碼比DOM解析器代碼小,適于Applet,下載。缺點(diǎn):不是持久的;事件過(guò)后,若沒(méi)保存數(shù)據(jù),那么數(shù)據(jù)就丟了;無(wú)狀態(tài)性;從事件中只能得到文本,但不知該文本屬于哪個(gè)元素;使用場(chǎng)合:Applet;只需XML文檔的少量?jī)?nèi)容,很少回頭訪問(wèn);機(jī)器內(nèi)存少。
3.DOM4J生成和解析XML文檔
DOM4J 是一個(gè)非常非常優(yōu)秀的Java XML API,具有性能優(yōu)異、功能強(qiáng)大和極端易用使用的特點(diǎn),同時(shí)它也是一個(gè)開(kāi)放源代碼的軟件。如今你可以看到越來(lái)越多的 Java 軟件都在使用 DOM4J 來(lái)讀寫 XML,特別值得一提的是連 Sun 的 JAXM 也在用 DOM4J。
4.JDOM生成和解析XML
為減少DOM、SAX的編碼量,出現(xiàn)了JDOM;優(yōu)點(diǎn):20-80原則,極大減少了代碼量。使用場(chǎng)合:要實(shí)現(xiàn)的功能簡(jiǎn)單,如解析、創(chuàng)建等,但在底層,JDOM還是使用SAX(常用)、DOM、Xanan文檔。
具體方法如下:
package com.alisoft.facepay.framework.bean;
/**
*
* @author hongliang.dinghl
* 定義XML文檔建立與解析的接口
*/
public interface XmlDocument {
/**
* 建立XML文檔
* @param fileName 文件全路徑名稱
*/
public void createXml(String fileName);
/**
* 解析XML文檔
* @param fileName 文件全路徑名稱
*/
public void parserXml(String fileName);
}
XML在不同的語(yǔ)言里解析方式都是一樣的,只不過(guò)實(shí)現(xiàn)的語(yǔ)法不同而已。基本的解析方式有兩種,一種叫SAX,另一種叫DOM。SAX是基于事件流的解析,DOM是基于XML文檔樹(shù)結(jié)構(gòu)的解析。假設(shè)我們XML的內(nèi)容和結(jié)構(gòu)如下:
ddviplinux
m
30
XML與Access,Oracle和SQL Server等數(shù)據(jù)庫(kù)不同,數(shù)據(jù)庫(kù)提供了更強(qiáng)有力的數(shù)據(jù)存儲(chǔ)和分析能力,例如:數(shù)據(jù)索引、排序、查找、相關(guān)一致性等,XML僅僅是存儲(chǔ)數(shù)據(jù)。事實(shí)上XML與其他數(shù)據(jù)表現(xiàn)形式大的不同是:他極其簡(jiǎn)單。這是一個(gè)看上去有點(diǎn)瑣細(xì)的優(yōu)點(diǎn),但正是這點(diǎn)使XML與眾不同。

本文標(biāo)題:網(wǎng)站建設(shè):如何在JAVA中解析XML格式文檔
網(wǎng)頁(yè)URL:http://www.rwnh.cn/news/258937.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作、網(wǎng)站設(shè)計(jì)公司、移動(dòng)網(wǎng)站建設(shè)面包屑導(dǎo)航、網(wǎng)站營(yíng)銷

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)
孟州市| 克拉玛依市| 尼玛县| 左权县| 大兴区| 永泰县| 永安市| 玉屏| 台北县| 太白县| 北票市| 太谷县| 穆棱市| 河东区| 宁津县| 霍邱县| 沁水县| 巨鹿县| 商水县| 鄂州市| 新干县| 洮南市| 栾川县| 出国| 宁远县| 新沂市| 含山县| 垦利县| 固镇县| 泰兴市| 新兴县| 东乡族自治县| 建平县| 收藏| 揭东县| 富源县| 托克托县| 中卫市| 连平县| 东宁县| 吉水县|