顯示具有 XML 標籤的文章。 顯示所有文章
顯示具有 XML 標籤的文章。 顯示所有文章

2013年4月30日 星期二

JAVA剖析XML的一種最佳方法DOM4J


DOM4J是目前在XML剖析方面是最優秀的(Hibernate、Sun的JAXM也都使用DOM4J來剖析XML),它合併了許多超出基本XML文件表示的功能,包括合併XPath的使用、XML Schema支援以及用於大資料文件或遵循文件基於事件的處理。

使用方法

目前最新DOM4J包下載網址:http://nchc.dl.sourceforge.net/sourceforge/dom4j/Dom4J-1.6.1.zip   解開後,僅操作XML文件的話把Dom4J-1.6.1.jar此檔案加入程式中即可,倘若需要使用XPath的話必須加入檔案Jaxen-1.1-beta-7.jar。

效能測試

        環境:AMD4400+ 2.0+GHz主頻 JDK6.0
        運行參數:-Xms400m -Xmx400m
        XML文件大小:10.7M
        結果:DOM: >581297ms、SAX: 8829ms、JDOM: 581297ms、DOM4J: 5309ms,時間包括IO的,只是進行了簡單的測試,僅供參考。

比較

  • DOM

DOM是基於樹的結構,通常需要載入整份文件和構造DOM的樹狀,然後才能開始工作。
優點:
  1. 由於整棵樹在記憶體中,因此可以對XML文件隨機訪問。
  2. 可以對XML文件進行修改操作。
  3. 相較SAX,DOM使用也更簡單。
缺點:
  1. 整個文件必須一次性剖析完。
  2. 由於整個文件都需要載入記憶體,對於資料量大文件成本高。

  • SAX

SAX是類似串流的資料,它基於事件驅動的,因此無需將整個文件載入記憶體,使用者只需要監聽自己感興趣的事件即可。
優點:
  1. 無須將整個XML文件載入記憶體,因此消耗記憶體少。
  2. 可以註冊多個ContentHandler。
缺點:
  1. 不能隨機訪問XML中的節點。
  2. 不能修改文件。
  • JDOM
JDOM是純Java的處理XML的API,其API中大量使用Collections類別,它利用強而有力的JAVA語言的諸多特性(方法覆載(overload)、集合概念以及映射),把SAX和DOM的功能結合起來。
優點:
  1. DOM方式的優點。
  2. 具有SAX的Java規則。
  3. 運用輕鬆、簡單方式處理XML文件。
缺點:
  1. DOM方式的缺點。
  • DOM4J
DOM4J以JDOM為基礎,設計上保有JDOM的易用性,避免SAX和DOM的缺點,設計理念為更好的DOM實現,可以說是使用優點避免缺點。
優點:
  1. 容易使用。
  2. 效能最好。
  3. 靈活性、功能強大等優勢。
    在測試可看出,相較於其它三個XML剖析方式中,此DOM4J方式為最優秀的一個。
    若有剖析程式的問題,可至參考出處查看。

    參考出處:
    http://kree.iteye.com/blog/668280
    http://www.open-open.com/lib/view/open1346822899256.html

    2012年10月29日 星期一

    DOM & SAX2 兩種XML剖析


    DOM(Document Object Model)
    是完整讀入XML檔案儲存在記憶體,將一份結構化文件轉換成一棵節點(Nodes)組成的樹狀結構如:XML、HTML。文件提供節點的相關屬性和方法存取元素內容也可新增、刪除、修改節點內容。

    如下表示剖析示意圖


    SAX 2(Simple API for XML version 2)
    SAX是組程式介面,可將XML文件視為文字串流的資料,在讀取XML元素時觸發一系列事件,只需撰寫所需的事件處理程序就可取得XML元素。

    如下表示剖析示意圖


         剖析方式
    項目              
    DOMSAX 2
    讀取速度較慢較快
    系統資源佔用較多系統資源佔用較少系統資源
    記憶體使用大量記憶體空間小的記憶體空間
    XML編輯內容可編輯內容只能唯讀


    建議
    假如只是純粹讀取XML檔案,使用上可選擇SAX 2可節省許多資源。
    倘若是用於XML的編輯上也只能使用DOM的方式去剖析。


    2012年9月12日 星期三

    xmlspy


    Altova XMLSpy 是XML編輯器及開發環境建模、編輯、轉換和XML除錯等相關的應用軟體,並且還提供圖形架構設計。

    1. 定義制定XML Schema
    2. 將XML Schema轉換成DTD
    3. 製作XML文件,將此文件宣告其結構為前項所建立的XML Schema檔案,並且可以進行驗證。
    4. 將3.所製作的XML文件宣告其結構為前項所轉換的DTD檔案,並且可以進行驗證。
    5.可將XML檔案輸出成word格式或者是匯出成資料庫格式

    使用者在編輯或檢視XML文件時,主要編輯視窗下方提供多種檢視功能,包括Grid View(格狀顯示)、Text View(文字模式顯示)、Schema/WSDL(顯示XML Schema或WSDL)、Authentic/Style sheet(樣式)等

    優點:使用上功能頗多也可以轉換成各種顯示方式

    缺點:英文軟體

    2010年7月2日 星期五

    徵產學合作計畫兼任研究助理







       




    徵產學合作計畫兼任研究助理

  • 條件: 具底下一種程式語言撰寫能力者.

  • Web平台程式, 如JSP, PHP或 .Net
  • 標示語言, 如HTML或XML
  • 物件導向程式語言, 如Java或C#

  • 時間: 99年07月 - 100年04月
  • 名額: 2-3人
  • 月薪: 面洽
  • mail: hsuic@nfu.edu.tw
  • 電話: 05-6315580




  •