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

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

    2011年9月30日 星期五

    Axis2 with Eclipse之Web service建構



    以前在建構一個web service時往往需要執行很多繁瑣的步驟,但Axis2的功能讓使用者 在建構web service的時候可以省略那些繁瑣的步驟,透過Axis2的轉換功能即可上使用者使用簡單的動作完成一個web service的架設。

    Axis2是一個Apache針對舊的Axis重新設計開發的Web service核心引擎,提供有C和Java兩種語言開發,特色是可以很簡單的和Apache Tomcat進行整合。


    在使用舊版的Eclipse建構web service的過程中,都需要透過掛載額外的套件,像是Apache Tomcat的外掛套件等等,而在新版的Eclipse中皆以內建API,只要使用者透過設定指定應用程式或套件存放的位置,就可以直接透過Eclipse呼叫套件並使用,不用在額外掛載套件。

    Eclipse搭配Axis2的轉換功能,可以讓使用者將寫好的Java程式轉換成web service。

    使用Eclipse和Axis2的搭配,可以將使用者寫好的Java程式直接轉換成web service,系統可以做到程式的轉換、WSDL檔產生、Client呼叫方法建置等動作,使用者只要知道呼叫web service的方法,其他系統都會自動幫使用者作好,是一個十分方便的功能。

    圖中為系統剖析WSDL檔後自動建構的呼叫方法,使用者只要透過呼叫這兩個副程式便可以輕鬆的使用web service的功能。

    使用心得:
    因為Axis2和Tomcat都是Apache開發的軟體,因此使用Axis2建構的web service可以包承war檔直接掛載在Tomcat下執行,十分的方便。不過一切都靠系統自動處理要是發生問題很可能會變成無法解決的情況,因此在使用好用工具的同時也會增進自身解決問題的能力。

    2010年7月2日 星期五

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







       




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

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

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

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




  •