Java XML API

2018-02-12 18:27 更新

Java XML教程 - Java XML API

SAX API

下面是關(guān)鍵的SAX API的摘要:

用法
SAXParserFactory創(chuàng)建由系統(tǒng)屬性javax.xml.parsers.SAXParserFactory確定的解析器的實(shí)例。
SAXParserSAXParser接口定義了幾個(gè)重載的parse()方法。
SAXReaderSAXParser包裝一個(gè)SAXReader,并從SAXParser的getXMLReader()方法返回。
DefaultHandlerDefaultHandler實(shí)現(xiàn)了ContentHandler,ErrorHandler,DTDHandler,和EntityResolver接口。 通過(guò)使用DefaultHandler,我們可以只覆蓋我們需要的那些。
ContentHandler此接口定義回調(diào)方法,如startDocument,endDocument,startElement和endElement。 這些方法在識(shí)別XML標(biāo)記時(shí)調(diào)用。它還定義了被調(diào)用的方法characters()當(dāng)解析器遇到XML元素中的文本時(shí)。它定義被調(diào)用的processingInstruction()當(dāng)解析器遇到內(nèi)聯(lián)處理指令時(shí)。
ErrorHandler它使用error(),fatalError()和warning()方法來(lái)響應(yīng)各種解析錯(cuò)誤。 默認(rèn)的錯(cuò)誤處理程序只會(huì)拋出致命錯(cuò)誤和的異常忽略驗(yàn)證錯(cuò)誤。
DTDHandler用于處理DTD
EntityResolver它的resolveEntity()方法用于標(biāo)識(shí)數(shù)據(jù)。

我們通常實(shí)現(xiàn)大多數(shù) ContentHandler 方法。

為了提供更穩(wěn)健的實(shí)現(xiàn),我們可以從ErrorHandler實(shí)現(xiàn)方法。


SAX包

SAX解析器在下表中列出的軟件包中定義。

描述
org.xml.sax定義SAX接口。
org.xml.sax.ext定義用于更高級(jí)SAX處理的SAX擴(kuò)展。
org.xml.sax.helpers定義SAX API的輔助類。
javax.xml.parsers定義SAXParserFactory類,它返回SAXParser。

DOM API

javax.xml.parsers.DocumentBuilderFactory 類返回一個(gè) DocumentBuilder 實(shí)例。

我們使用 DocumentBuilder 實(shí)例來(lái)產(chǎn)生一個(gè) Document 對(duì)象退出XML文檔。

構(gòu)建器由系統(tǒng)屬性 javax.xml.parsers.DocumentBuilderFactory 確定。

DocumentBuilder 中的 newDocument()方法可以創(chuàng)建一個(gè)實(shí)現(xiàn) org.w3c.dom.Document 接口的空Document。

我們可以使用其中一個(gè)構(gòu)建器的解析方法來(lái)創(chuàng)建一個(gè) Document 從現(xiàn)有的XML文檔。


DOM包

文檔對(duì)象模型實(shí)現(xiàn)在中定義下表中列出的軟件包。

描述
org.w3c.dom定義XML文檔的DOM編程接口。
javax.xml.parsers定義DocumentBuilderFactory類和DocumentBuilder類。

XSLT API

TransformerFactory 創(chuàng)建一個(gè) Transformer 對(duì)象。

XSLT API在下表中顯示的包中定義。

描述
javax.xml.transform定義TransformerFactory和Transformer類。 我們可以從變換器對(duì)象調(diào)用transform()方法來(lái)進(jìn)行變換。
javax.xml.transform.dom用于從DOM創(chuàng)建輸入和輸出對(duì)象的類。
javax.xml.transform.sax用于從SAX解析器創(chuàng)建輸入對(duì)象和從SAX事件處理程序輸出對(duì)象的類。
javax.xml.transform.stream用于從I / O流創(chuàng)建輸入對(duì)象和輸出對(duì)象的類。

StAX APIs

StAX為開發(fā)人員提供了SAX和DOM解析器的替代方法。

StAX可以用更少的內(nèi)存進(jìn)行高性能流過(guò)濾,處理和修改。

StAX是用于流式XML處理的標(biāo)準(zhǔn)的雙向拉解析器接口。

StAX提供比SAX更簡(jiǎn)單的編程模型,并且比DOM更高的內(nèi)存效率。

StAX可以解析和修改XML流作為事件。

StAX包

StAX APIs在下表中顯示的包中定義。

描述
javax.xml.stream定義迭代XML文檔元素的XMLStreamReader接口。 定義XMLStreamWriter接口,指定如何寫入XML。
javax.xml.transform.stax提供StAX特定的轉(zhuǎn)換API。
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)