Java&Xml教程(一)簡介
XML是廣泛用於資料傳輸和儲存的技術。Java語言提供個各種各樣的API來解析XML,例如DOM、SAX、StAX、JAXB。也還有一些其他的API用於解析XML,例如JDOM。本教程的目的是探索使用不同型別的API解析XML和學習使用XML執行一些常見的任務。
DOM XML解析
DOM解析是最簡單的解析方式,將XML檔案載入到記憶體中,然後我們可以通過遍歷Node節點來解析XML。DOM解析適用於內容較少的小檔案,當檔案較大時解析速度非常慢,並且很佔用記憶體。
讀取xml檔案
此文介紹如何使用DOM解析XML檔案,並將XML內容轉換為Java物件。
生成XML檔案
這篇文章介紹如何將Java物件轉換為XML檔案並存儲到本地磁碟中。
DOM解析機制同樣可以用於修改XML資料。這篇文章介紹如何使用DOM解析機制新增元素、刪除元素、修改元素值、修改屬性等操作。
SAX XML解析
Java SAX解析機制提供瞭解析XML文件的API,SAX解析機制和DOM不同,它並不是將XML全部載入到記憶體中,而是按照順序讀取XML文件。它是基於事件的解析,我們需要實現自定義的Handler類,使用它的回撥方法解析XML檔案。當對大檔案進行解析時,它比DOM解析機制效率更高。
讀取XML檔案
學習如何建立我們的回撥Handler類,將XML內容讀取到一個List中。
StAX XML解析
Java StAX 全稱是Java Streaming API for XML,提供瞭解析XML的具體實現。StAX由兩組API構成—基於遊標的API和基於迭代器的API。
在這個教程中我們將學到如何使用StAX迭代的讀取XML。
使用StAX Iterator API生成XML檔案
在這個教程中我們將學到如何使用基於迭代器的StAX API生成XML。
使用StAX Cursor API讀取XML檔案
本文介紹如何使用StAX Cursor API 讀取XML資料到Java物件中。
使用StAX Cursor API 生成XML檔案
Java StAX Cursor API在建立XML並在其中輸出資料方面是非常直接的。我們需要建立XMLStreamWriter物件,然後往物件中寫資料即可。
JDOM XML解析
JDOM提供了非常優秀的API使得讀取、修改、生成XML檔案更加簡單。它提供了包裝類供你從SAX解析、DOM解析、StAX事件解析中選擇具體的實現。
使用JDOM的好處是你可以從SAX、DOM STAX中切換解析器,而且可以提供工廠方法讓客戶機應用程式選擇實現。
JDOM讀取XML檔案
這個教程中,我們將會學到如何使用JDOM讀取XML檔案。
JDOM生成XML檔案
在這個教程中,我們會學習使用JDOM寫XML檔案。JDOM Document提供了建立元素和屬性便捷的方法。XMLOutputter 類可以用於將Document物件寫到任意的OutputStream或Writer物件。
JAXB
JAXB的全稱是Java Architecture for XML Binding,使用它提供的API可以很輕鬆的將Java物件轉換為XML,或將XML內容轉換為Java物件。JAXB作為一個單獨的專案,但是在Java 6中它成為JDK的一部分。
JAXB教程
使用JAXB非常簡單,它使用註解,我們需要在Java物件上使用註解以指示建立XML,接著需要建立Marshaller將物件轉換為XML,使用Unmarshaller將XML轉換為Java物件。在這個教程中,我們將會學到大部分JAXB註解,並學會使用Marshaller將物件轉換為XML,使用Unmarshaller將XML轉換為物件。
JiBX
JiBX是非常強大的框架用於將XML和Java物件進行互相轉換,它在使用XML作為資料傳輸格式的多應用整合方面使用較為廣泛,例如Web Service和基於訊息模型的系統整合。
JiBX教程
有許多框架可用於XML轉換,如JAXB和XMLBeans,但JiBX對XML繫結和轉換過程中使用不同的方法,JiBX通過工具類在編譯時生成Ant指令碼來執行這些任務。這種方法通過擺脫傳統的兩步處理方式,大大減少了處理時間。
XPath
XPath提供語法定義部分XML文件,XPath表示式使用查詢字串選擇部分XML文件。使用XPath表示式,我們能夠找到任何一個節點。
XPath教程
javax.xml.xpath 包提供了XPath的支援。可用通過XPath API提供的工廠方法建立XPathExpression,這個教程主要介紹使用XPath表示式查詢XML節點。
一些XML相關任務
在Eclipse中從XSD中生成一般的XML
如果你從事Web Service相關工作,你需要使用XSD並測試WebService,你需要從XSD檔案生成XML檔案。Eclipse提供非常簡單的方式幫你完成。
使用XSD校驗XML合法性
Java XML Validation API可以使用XSD校驗XML檔案,這個教程中將使用到javax.xml.validation.Validator類。
Java XML 屬性檔案
通常我們java應用程式的配置引數儲存在屬性檔案中。Java的屬性檔案可以是一個鍵值對的properties檔案也可以是一個XML檔案。在本例中介紹如何使用XML作為屬性檔案,並從屬性檔案中獲取相關資訊。
SOAP XML
Soap是基於XML的傳輸協議,Soap全稱Simple Object Access Protocol.Soap是輕量級的資料交換機制,基於XML而且跨平臺。
格式化XML文件
使用實用的工具類列印XML並將XML Document物件轉換為字串。
String和Document互相轉換
有時我們在Java程式設計中,獲得一個字串,它的內容是XML資料格式,如果需要處理它,我們需要將它轉換為一個Document物件。或者有時出於除錯的目的,需要將Document物件轉換為字串輸出。有兩個實用的方法可以將String和Document物件之間進行轉換。本文會有所介紹。
相關推薦
Java&Xml教程(一)簡介
XML是廣泛用於資料傳輸和儲存的技術。Java語言提供個各種各樣的API來解析XML,例如DOM、SAX、StAX、JAXB。也還有一些其他的API用於解析XML,例如JDOM。本教程的目的是探索使用不同型別的API解析XML和學習使用XML執行一些常見的任務。
Java NIO教程(一) 核心概述
Java NIO教程(一) 核心概述 Java NIO 由以下幾個核心部分組成: Channels Buffers Selectors 雖然Java NIO 中除此之外還有很多類和元件,但在我看來,Channel,Buffer 和 Selec
Java XML教程(彙總)
一、XML XML--EXtensible Markup Language(可擴充套件標記語言)是一種很流行的簡單的基於文字的語言來用作應用程式之間的通訊模式。它被認為是傳輸標準裝置和儲存資料。JAVA提供了極好的支援和豐富的庫來解析,修改或查詢XML文件。 XML是
ElasticSearch教程(一)——簡介與安裝
背景 公司一直在使用ES作為分散式的搜尋引擎,由於資料量的不斷升高,ES出現了效能瓶頸。公司決定進一步的優化ES配置,所以最近幾天在研究ES,最近會更新一系列ES的教程,希望大家持續關注。不多說了,Action。 簡介 ElasticSearch一個基
Java&Xml教程(三)使用DOM方式修改XML檔案內容
DOM解析方式也可用於修改XML資料,我們可以使用它完成新增元素、刪除元素、修改元素值、修改元素屬性等操作。 我們的XML檔案,內容如下: employee.xml <?xml version="1.0" encoding="UTF-8" sta
Java&Xml教程(十)XML作為屬性檔案使用
我們通常會將Java應用的配置引數儲存在屬性檔案中,Java應用的屬性檔案可以是一個正常的基於key-value對,以properties為副檔名的檔案,也可以是XML檔案. 在本案例中,將會向大家介紹如何通過Java程式輸出這兩種格式的屬性檔案,並介紹如何從
Java NIO系列教程(一)java NIO簡介
這個系列的文章,我們開始玩一玩IO方面的知識,對於IO和NIO,我們經常會接觸到,瞭解他們的基本內容,對於我們的工作會有特別大的幫助。這篇博文我們僅僅是介紹IO和NIO的基本概念,以及一些關鍵詞。 基本概念 IO是主存和外部裝置(硬碟、終端和網路)進行資
Java NIO系列教程(一) Java NIO 簡介
Java NIO系列教程(一) Java NIO 概述 原文連結 作者:Jakob Jenkov 譯者:airu 校對:丁一 Java NIO 由以下幾個核心部分組成: Channels Buffers Selectors 雖
Java數據結構和算法(一)——簡介
技術 其他 高程 度量 得出 rsh 基本功 represent 介紹 本系列博客我們將學習數據結構和算法,為什麽要學習數據結構和算法,這裏我舉個簡單的例子。 編程好比是一輛汽車,而數據結構和算法是汽車內部的變速箱。一個開車的人不懂變速箱的原理也是能開車的,同理一個不
Java NIO框架Netty教程(一) – Hello Netty
tex highlight bsp ret 開發 包括 tor 習慣 事件機制 先啰嗦兩句,如果你還不知道Netty是做什麽的能做什麽。那可以先簡單的搜索了解一下。我只能說Netty是一個NIO的框架,可以用於開發分布式的Java程序。具體能做什麽,各位可以盡量發揮想象。技
Spring框架入門教程(一)——框架簡介
介紹 Spring是一個分層的(一站式) 輕量級開源框架 Spring的核心是控制反轉(IoC)和麵向切面(AOP) 為什麼說分層一站式呢? javaEE分三層開發 WEB層,業務層,持久層。在ssh整合框架中s == Struts2, s == spring,h
flask框架系列教程(一) flask簡介及虛擬環境搭建
flask簡介 博主快兩個月沒更新了,原因是私下學了前端,奈何前端東西太多,即便以後想去做後端,也要明白JS jquery,這個有時間再發自己的理解,最近開始學習flask了,希望與諸位看客共同進步。前期先講基礎,過一段時間會把整個網站的建設過程發出來。
【selenium3+JAVA】介面自動化測試教程(一)——瀏覽器的啟動之IE瀏覽器的啟動
前言 同chrome、firefox,ie瀏覽器的啟動一樣需要driver,但是IEDriver不像chromeDriver一樣有多個版本,不同版本對應不同的chrome版本,它只有32位版本和64位版本兩種; 下載地址為:https://www.seleniu
Git 系列教程(一)Git 簡介
1.關於版本控制Version control is a system that records changes to a file or set of files over time so that you can recall specific versions la
Java NIO系列教程(一) Java NIO 概述
Java NIO 由以下幾個核心部分組成: Channels Buffers Selectors 雖然Java NIO 中除此之外還有很多類和元件,但在我看來,Channel,Buffer 和 Selector 構成了核心的API。其它元件,如P
Java NIO框架Netty教程(一)
先囉嗦兩句,如果你還不知道Netty是做什麼的能做什麼。那可以先簡單的搜尋瞭解一下。我只能說Netty是一個NIO的框架,可以用於開發分散式的Java程式。具體能做什麼,各位可以儘量發揮想象。技術,是服務於人而不是侷限住人的。 Netty的簡介
Scala基礎教程(一):簡介、環境安裝
Scala基礎語法 如果有很好的瞭解Java語言,那麼將很容易學習Scala。 Scala和Java間的最大語法的區別在於;行結束符是可選的。考慮Scala程式它可以被定義為通過呼叫彼此方法進行通訊的物件的集合。現在,簡要地看看什麼叫做類,物件,方法和臨時變數。 ·
淘寶JAVA中介軟體Diamond詳解(一)---簡介&快速使用
大家好,今天開始為大家帶來我們通用產品團隊的產品 —— diamond的專題,本次為大家介紹diamond的概況和快速使用。 一、概況 diamond是淘寶內部使用的一個管理持久配置的系統,它的特點是簡單、可靠、易用,目前淘寶內部絕大多數系統的配置,由diamond來進行統一管理。 diamond為
Java單點登入許可權系統(一)—簡介
開源地址 部署文件 簡述 Smart定位用當下最流行的SSM(SpringMVC + Spring + Mybatis)技術,為您構建一個易理解、高可用、高擴充套件性的單點登入許可權管理應用基層,方便實現快速開發。許可權按鈕級(可控制到Cont
java socket編程(一)簡介
域名解析 單元 圖片 服務端 src dns socket 傳遞 alt #Java TCP Ip編程 其實下面幾張圖片就可以解釋簡單解釋tcp-ip協議的大體流程了。 ###計算機網絡,分組報文和協議 網絡是一組通過通信信道相互連接的機器組成。 組與組之間通過路由器連