国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
技巧: 從 JDOM 轉(zhuǎn)換
內(nèi)容:
從 JDOM 到 SAX
從 JDOM 到 DOM
參考資料
關(guān)于作者
對(duì)本文的評(píng)價(jià)
相關(guān)內(nèi)容:
從 DOM 轉(zhuǎn)換
從 SAX 轉(zhuǎn)換
訂閱:
developerWorks 時(shí)事通訊
JDOM 沒(méi)有精確地映射到 DOM 和 SAX,但可以容易地輸出到這兩者

Brett McLaughlin
Enhydra 策略顧問(wèn), Lutris Technologies
2001 年 4 月

您正在學(xué)習(xí)如何使用 JDOM 嗎? 沒(méi)有哪一種 API不是孤立的,在本文中,您將了解如何輕易地從 JDOM 轉(zhuǎn)換到 SAX 和DOM,從而使用所有這三種 API 來(lái)對(duì) XML應(yīng)用程序流暢地編程。本文中的代碼樣本提供了從 JDOM 到 SAX 和 JDOM 到DOM 的轉(zhuǎn)換示例。

您可能和我一樣已經(jīng)跳上了 JDOM 這輛“彩車”。JDOM 易于使用(按照我較偏愛(ài)的 JDOM 作者之一的觀點(diǎn)來(lái)看),并很容易使 XML 和 Java 配合默契。即,如果我甚至建議 JDOM 可以替換 DOM 和 SAX 并成為唯一的 Java 和 XML API 的話,那我一定是一個(gè)傻瓜。對(duì)于 DOM、SAX 和 JDOM,有許多不同的應(yīng)用程序,而在基于 XML 的應(yīng)用中幾乎肯定會(huì)碰到所有這三種。至于 JDOM, 需要使您的合作者和管理者(他們也許沒(méi)有象您一樣走在最前沿)相信您可以使用 JDOM,而且還可以使程序與許多其它不使用 JDOM 的應(yīng)用交互。這意味著需要從 JDOM 轉(zhuǎn)換到 SAX 以及從 JDOM 轉(zhuǎn)換到 DOM。在本文中,我將向您展示如何去做這兩種轉(zhuǎn)換。

從 JDOM 到 SAX
在使用 SAX 時(shí),每一件事情都基于進(jìn)入的事件系列。SAX 程序員編寫(xiě)回調(diào)方法實(shí)現(xiàn)它們,是在發(fā)生這些各種事件時(shí)執(zhí)行的代碼片段。所有 SAX 語(yǔ)法分析的核心是 SAX org.xml.sax.ContentHandler 接口,它定義了回調(diào),該回調(diào)是 XML 文檔處理的一部分。除此以外, ErrorHandlerDTDHandlerEntityResolver 接口也很重要。一旦建立了這些接口的實(shí)現(xiàn),就可以將它們交給 org.jdom.output.SAXOutputter 類,而自己可以坐下來(lái)休息一會(huì)兒。清單 1 顯示了它是如何工作的,并提供給您一些可以參考的想法。

清單 1. 從 JDOM 到 SAX 的轉(zhuǎn)換
public convertToSAX(Document jdomDoc) throws JDOMException { SAXOutputter outputter = new SAXOutputter(new MyContentHandlerImpl()); // Set the EntityResolver impl outputter.setEntityResolver(new MyEntityResolverImpl()); // Set the DTDHandler impl outputter.setEntityResolver(new MyDTDHandlerImpl()); // Set the ErrorHandler impl outputter.setEntityResolver(new MyErrorHandlerImpl()); // Fire the SAX events outputter.output(jdomDoc);}

從 JDOM 到 DOM
從 JDOM 結(jié)構(gòu)轉(zhuǎn)換到 DOM 結(jié)構(gòu)與上面的方法類似。事實(shí)上,它甚至比使用 SAX 還容易,因?yàn)?DOM 和 JDOM 有略微相似的結(jié)構(gòu)。這里沒(méi)有什么特別之處:正如使用 SAXOutputter 輸出到 SAX 一樣,您需要使用 org.jdom.output.DOMOutputter 類輸出到 DOM。清單 2 顯示了這個(gè)起作用的類。

清單 2. 從 JDOM 到 DOM 的轉(zhuǎn)換
public org.w3c.dom.Document convertToDOM(org.jdom.Document jdomDoc) throws JDOMException { DOMOutputter outputter = new DOMOutputter(); return outputter.output(jdomDoc);}public org.w3c.dom.Element convertToDOM(org.jdom.Element jdomElement) throws JDOMException { DOMOutputter outputter = new DOMOutputter(); return outputter.output(jdomElement);}public org.w3c.dom.Attr convertToDOM(org.jdom.Document jdomAttribute) throws JDOMException { DOMOutputter outputter = new DOMOutputter(); return outputter.output(jdomAttribute);}

當(dāng)然,在 SAXOutputterDOMOutputter 中,還有其它一些有幫助的方法,這里只是一些基本的。如果您讀過(guò)我所寫(xiě)的其它 XML 提示(請(qǐng)參閱“參考資料”),那么通過(guò)本文,您已知道如何使用 JDOM 以及如何把 JDOM 與接收 SAX 和 DOM 作為輸入的應(yīng)用程序和生成 SAX 和 DOM 的應(yīng)用程序一起使用。繼續(xù)學(xué)習(xí)并不斷積累新知識(shí),用 XML 的各種格式來(lái)交換 XML!

參考資料

關(guān)于作者
Brett McLaughlin ( brett@newInstance.com) 是 Lutris Technologies 的 Enhydra 策略顧問(wèn)和分布式系統(tǒng)體系結(jié)構(gòu)方面的專家。他是 Java 和 XML (O‘Reilly) 的作者。他還參加了,如 Java servlets、Enterprise JavaBeans 技術(shù)、XML 和商家對(duì)商家應(yīng)用等技術(shù)的研究。他與 Jason Hunter 一起建立了 JDOM 項(xiàng)目,該項(xiàng)目為在 JAVA 應(yīng)用程序中控制 XML 提供一個(gè)簡(jiǎn)單的 API。他還是 Apache Cocoon 項(xiàng)目和 EJBoss EJB 服務(wù)器的活躍開(kāi)發(fā)人員以及 Apache Turbine 項(xiàng)目的共同創(chuàng)建者。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
jdom
關(guān)于JAXP,DOM,SAX,JDOM,DOM4J的一些想法
java讀取xml文件的四種方法
JAVA解析xml的四種方式比較
Java 解析xml文件
CnJSP
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服