中文JAVA技術平等自由協作創造

          Java專題文章博客和開源

          常用鏈接

          統計

          最新評論

          Java中解析XML的四種方法

            XML現在已經成為一種通用的數據交換格式,它的平臺無關性,語言無關性,系統無關性,給數據集成與交互帶來了極大的方便。對于XML本身的語法知識與技術細節,需要閱讀相關的技術文獻,這里面包括的內容有DOM(Document Object Model),DTD(Document Type Definition),SAX(Simple API for XML),XSD(Xml Schema Definition),XSLT(Extensible Stylesheet Language Transformations。
           
             package com.alisoft.facepay.framework.bean;
           
             /**
           
             *
           
             * @author hongliang.dinghl
           
             * 定義XML文檔建立與解析的接口
           
             */
           
             public interface XmlDocument {
           
             /**
           
             * 建立XML文檔
           
             * @param fileName 文件全路徑名稱
           
             */
           
             public void createXml(String fileName);
           
             /**
           
             * 解析XML文檔
           
             * @param fileName 文件全路徑名稱
           
             */
           
             public void parserXml(String fileName);
           
             }
           
             XML在不同的語言里解析方式都是一樣的,只不過實現的語法不同而已。基本的解析方式有兩種,一種叫SAX,另一種叫DOM。SAX是基于事件流的解析,DOM是基于XML文檔樹結構的解析。假設我們XML的內容和結構如下:托福答案
           
             <?xml version="1.0" encoding="UTF-8"?>
           
             <employees>
           
             <employee>
           
             <name>ddviplinux</name>
           
             <sex>m</sex>
           
             <age>30</age>
           
             </employee>
           
             </employees>
           
             1.DOM生成和解析XML文檔
           
             為XML文檔的已解析版本定義了一組接口。解析器讀入整個文檔,然后構建一個駐留內存的樹結構,然后代碼就可以使用 DOM 接口來操作這個樹結構。優點:整個文檔樹在內存中,便于操作;支持刪除、修改、重新排列等多種功能;缺點:將整個文檔調入內存(包括無用的節點),浪費時間和空間;使用場合:一旦解析了文檔還需多次訪問這些數據;硬件資源充足(內存、CPU)。
           
             2.SAX生成和解析XML文檔
           
             為解決DOM的問題,出現了SAX。SAX ,事件驅動。當解析器發現元素開始、元素結束、文本、文檔的開始或結束等時,發送事件,程序員編寫響應這些事件的代碼,保存數據。優點:不用事先調入整個文檔,占用資源少;SAX解析器代碼比DOM解析器代碼小,適于Applet,下載。缺點:不是持久的;事件過后,若沒保存數據,那么數據就丟了;無狀態性;從事件中只能得到文本,但不知該文本屬于哪個元素;使用場合:Applet;只需XML文檔的少量內容,很少回頭訪問;機器內存少。托福答案
           
             3.DOM4J生成和解析XML文檔
           
             DOM4J 是一個非常非常優秀的Java XML API,具有性能優異、功能強大和極端易用使用的特點,同時它也是一個開放源代碼的軟件。如今你可以看到越來越多的 Java 軟件都在使用 DOM4J 來讀寫 XML,特別值得一提的是連 Sun 的 JAXM 也在用 DOM4J。
           
             4.JDOM生成和解析XML
           
             為減少DOM、SAX的編碼量,出現了JDOM;優點:20-80原則,極大減少了代碼量。使用場合:要實現的功能簡單,如解析、創建等,但在底層,JDOM還是使用SAX(最常用)、DOM、Xanan文檔。
           
           

          posted on 2013-09-22 23:19 好不容易 閱讀(156) 評論(0)  編輯  收藏


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


          網站導航:
           
          PK10開獎 PK10開獎
          主站蜘蛛池模板: 富顺县| 华阴市| 曲水县| 葫芦岛市| 新民市| 鹰潭市| 冷水江市| 松桃| 宿州市| 开封县| 米易县| 应用必备| 衢州市| 赣榆县| 同江市| 安庆市| 永清县| 勃利县| 崇文区| 丰都县| 揭阳市| 桃江县| 寿宁县| 视频| 柳州市| 额济纳旗| 张家川| 噶尔县| 通山县| 满城县| 文昌市| 涿州市| 西平县| 甘孜县| 北辰区| 集安市| 呼伦贝尔市| 鄂托克前旗| 西贡区| 长汀县| 滨州市|