<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 38, comments - 9, trackbacks - 0, articles - 1

    JAXP and DOM4J

    Posted on 2005-04-11 12:36 大阿福 閱讀(203) 評論(0)  編輯  收藏

    JAXP是sun提出的一個規(guī)范,用于定義如何解析和轉(zhuǎn)換xml文檔的接口,目前版本已經(jīng)達到1.3,根據(jù)解析轉(zhuǎn)換供應(yīng)商無關(guān)性,解析器和轉(zhuǎn)換器可以在具體運行時進行多樣更換。這本身對于應(yīng)用開發(fā)來說是一個福音。
    但是目前jaxp在國內(nèi)的使用并不是想象中那樣的廣泛,這也是由于一定的市場原因存在(對于不同版本的jvm的支持的需求)。

    現(xiàn)在更多的應(yīng)用采用dom4j和jdom,其操作接口更為簡便。

    個人以為,dom4j(不太了解jdom)并不是嚴(yán)格意義上的xml解析器,其底層也是采用符合jaxp規(guī)范的具體實現(xiàn),并且dom4j的文檔中表明,可以和jaxp協(xié)同工作,采用jaxp已經(jīng)config好的解析器和轉(zhuǎn)換器。

    在dom4j最新發(fā)布版本1.5.2中,由于許可證的問題,內(nèi)部去除了解析器Aelfred2的實現(xiàn),這下是否更應(yīng)該依賴于底層的crimson.jar or xerces.jar,而二者是遵循jaxp規(guī)范的。

    具體知識還在研究中。

    對此與www.JavaGarden.net的一段討論:

    .--------------------------------------------------------------------.
    | Session Start: 2005年4月6日                                           |
    | Participants:                                                      |
    |    (sn)大阿福 (toafu@msn.com)                                         |
    |    .... 4月18日,愛因斯坦50周年祭日(ip)www.JavaGarden.net (turbochen@163.com) |
    .--------------------------------------------------------------------.
    [16:39:28] (sn)大阿福:
               http://blog.csdn.net/toafu/archive/2005/04/06/338337.aspx
    [16:39:34] (sn)大阿福: 我理解的對嗎?
    [16:41:57] Turbo, A bea: good
    [16:42:52] (sn)大阿福:
               可是我怎么找不到我直接使用dom4j的時候,它是怎樣于jaxp發(fā)生關(guān)聯(lián)的。當(dāng)類路徑里面有二者的時候。
    [16:46:18] Turbo, A bea: jaxp不是有幾個factory嗎,就是從這入手的.
    [16:47:06] (sn)大阿福: 可是我沒有看到dom4j對這幾個factory有什么實現(xiàn)?
    [16:48:24] Turbo, A bea: 我記得在一個什么文章上看到過, 好像是從factory上入手, 傳入一個class之類的.
               具體用什么方法還得去查查.
    [16:49:08] (sn)大阿福: 就是跟dom4j發(fā)生關(guān)聯(lián)的?
    [16:49:41] Turbo, A bea: 你應(yīng)該還記得jdbc的驅(qū)動是怎么加載的, 跟那個原理類似.
    [16:50:37] (sn)大阿福: 按順序找?guī)讉€路徑下是否有可加載的類
    [16:51:23] Turbo, A bea: 不是, 是DriverManager.forName("classname");
               類似這樣的方式.
    [16:51:32] (sn)大阿福: 對
    [16:53:52] (sn)大阿福:
               是不是這樣理解,dom4j是不遵從jaxp規(guī)范的實現(xiàn),同樣底層是那些遵從了jaxp規(guī)范的xml解析器,只是因為dom4
               j提供了很簡便的接口而應(yīng)用廣泛
    [16:55:49] Turbo, A bea: 我覺得是dom4j遵從了jaxp規(guī)范, 并加以擴展, 使API更容易使用.
               我沒有實際用過dom4j, 但知道它比jaxp的dom api好用很多.
               我之前開發(fā)全用是jaxp 的 dom api, 取一個元素代碼很啰嗦.
    [16:56:40] Turbo, A bea: 而jdom才是切頭切尾的沒遵從jaxp規(guī)范
    [16:56:52] Turbo, A bea: 不易移植.
    [16:57:14] (sn)大阿福:
               好。我想知道的是,如果dom4j和jaxp的api都在classpath下時,如果能夠?qū)崿F(xiàn)直接操作jaxp接口而保證底
               層用dom4j實現(xiàn)的呢?
    [17:00:08] Turbo, A bea: How does dom4j relate to DOM?
               DOM is a quite large language independent API. dom4j is a
               simpler, lightweight API which is optimised for the Java
               making extensive use of the Java 2 platform such as the
               Java 2 collections.
              
               Though dom4j fully supports the DOM standard allowing both
               APIs to be used easily together.
    [17:00:19] Turbo, A bea: 上面這段是dom4j的FAQ的內(nèi)容
    [17:00:57] Turbo, A bea: dom4j fully supports the DOM standard
               allowing both APIs to be used easily together.
    [17:01:07] Turbo, A bea: 上面這句最關(guān)鍵
    [17:01:52] (sn)大阿福: 不太明白什么意思
    [17:02:28] (sn)大阿福: both是指?
    [17:02:49] Turbo, A bea: 應(yīng)該是指dom4j和dom
    [17:03:05] Turbo, A bea: together證明了這點
    [17:03:10] (sn)大阿福: 哦?
    [17:04:53] Turbo, A bea: 再看這一句: Dom4j works with any SAX parser via
               JAXP.
    [17:05:37] (sn)大阿福: 呵呵,我就想知道它是如何work with的,或者咱們在代碼里寫的時候如何融合dom4j和jaxp
    [17:05:40] Turbo, A bea: 這就意味者,只要是符合jaxp規(guī)范的sax parser, 都可以作為dom4j的sax
               parser使用.
    [17:07:00] (sn)大阿福: 你這句沒錯
    [17:08:04] (sn)大阿福: 那就是說dom4j和jaxp是并列的,只是dom4j不是規(guī)范而已,是嗎
    [17:08:58] Turbo, A bea: 我覺得jaxp是規(guī)范,而dom4j是規(guī)范的擴展.
    [17:09:35] (sn)大阿福: 而xerces等是規(guī)范的實現(xiàn)
    [17:09:55] Turbo, A bea: 是啊
    [17:10:21] (sn)大阿福: 是不是jaxp還未直接支持xpath,所以易用性不如dom4j
    [17:10:35] Turbo, A bea: 其實, jaxp最初的實現(xiàn)是由apache捐現(xiàn)的,
    [17:10:47] (sn)大阿福: 所以xml解析器就是apache的
    [17:10:59] Turbo, A bea: 還未完全實現(xiàn)xpath, 不知java5實現(xiàn)的如何了.
    [17:11:10] Turbo, A bea: 是啊
    [17:11:29] (sn)大阿福: 新的1.3支持java5,呵呵
    [17:11:36] (sn)大阿福: 好,多謝指教
    [17:13:40] Turbo, A bea:
               http://www.pconline.com.cn/pcedu/empolder/wz/xml/0412/50976
               2_1.html
    [17:13:52] Turbo, A bea: 這個文章可以一看,但不可全信.
    [17:14:04] (sn)大阿福: OK,3ks
    [17:17:50] Turbo, A bea:
               http://www.54bk.com/more.asp?name=captain&id=1887
               這個文章就可以看明白它們的關(guān)系了
    [17:19:36] (sn)大阿福: dom4j應(yīng)用程序 -> dom4j API -> Xerces/Crimson解析器
               dom4j應(yīng)用程序 -> dom4j API -> Alfred2解析器
    [17:20:01] (sn)大阿福: dom4j默認(rèn)都是用第一行的解析器吧
    [17:20:09] Turbo, A bea: apache的Xerces/Crimson解析器是核心,
    [17:20:15] (sn)大阿福: 嗯
    [17:20:24] Turbo, A bea: 其它類型的api都是用這些解析器.
    [17:20:34] (sn)大阿福: Alfred2已經(jīng)在dom4j
    [17:20:44] (sn)大阿福: 1.5.2中remove掉了
    [17:20:56] Turbo, A bea: 是的
    [17:22:12] (sn)大阿福:
               所以jaxp和dom4j之間并沒有規(guī)范和實現(xiàn)的關(guān)系,而dom4j使用實現(xiàn)了jaxp規(guī)范的apache的解析器來解析xm
               l文檔。
    [17:22:24] (sn)大阿福: 感覺輪廓漸漸清晰了
    [17:22:36] Turbo, A bea: 而jaxp定義的接口,包括dom和sax接口.
    [17:22:54] Turbo, A bea: 然后jaxp也有自己的dom和sax實現(xiàn).
    [17:23:16] (sn)大阿福: 那就是jaxp RI
    [17:24:07] (sn)大阿福: 是sun做的。sun定義了jaxp規(guī)范,完了又實現(xiàn)了自己的一套api,解析器同樣用apache的
    [17:24:45] (sn)大阿福: dom4j是未遵從jaxp規(guī)范實現(xiàn)了一套更易用的api,解析器也是用apache的
    [17:25:42] (sn)大阿福:
               dom4j文檔中描述:當(dāng)jaxp的jar在類路徑中是,dom4j使用的解析器會依據(jù)jaxp配置中的進行選擇。
    [17:27:09] Turbo, A bea: 所以'work with jaxp'的意思是指符合jaxp 規(guī)范的parser.
    [17:28:09] (sn)大阿福: 對,work with xml parsers obeying jaxp


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲人精品午夜射精日韩 | 亚洲人成免费网站| 亚洲卡一卡二卡乱码新区| 日韩在线免费播放| 免费国产污网站在线观看| 激情内射亚洲一区二区三区爱妻| 免费国产真实迷j在线观看| 国产va在线观看免费| 亚洲国产成人AV在线播放| 亚洲中文久久精品无码| 可以免费看黄视频的网站| 一级毛片一级毛片免费毛片| 亚洲视频一区在线播放| 亚洲精品美女久久久久99小说| 99视频有精品视频免费观看| 国产成人精品久久亚洲高清不卡 | 丁香五月亚洲综合深深爱| 亚洲国产精品免费观看| 一级一级毛片免费播放| 亚洲天堂免费在线| 亚洲国产精品无码久久一区二区| 女人18毛片水最多免费观看 | 亚洲综合色视频在线观看| 麻豆高清免费国产一区| 国产精品青草视频免费播放| 亚洲 欧洲 视频 伦小说| 亚洲av永久无码精品网站| 国产一级做a爱免费视频| 中文字幕免费在线看线人| 中文字幕在线免费播放| 性色av极品无码专区亚洲| 亚洲伦理一二三四| 亚洲av最新在线网址| 亚洲日本中文字幕一区二区三区| 无限动漫网在线观看免费| 日本高清高色视频免费 | 日本不卡高清中文字幕免费| 日本免费网址大全在线观看| 嫩草影院在线播放www免费观看| 免费毛片毛片网址| 国产精品亚洲专区在线播放|