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

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

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

    隨筆-30  評論-123  文章-0  trackbacks-0

    摘要
    J2EE/XML開發人員一般都用DOM(Document Object Model,文檔對象模型)API或者(SAX Simple API for XML)來解析XML文件。這些API各有利弊。DOM API對內存要求高,因為用DOM操縱XML文件需要先將整個XML文件的結構保存到內存中。而SAX API是一個推式解析模型,解析事件由解析器產生。與上面兩種方式不同,StAX基于拉式解析模型。在本文中,我們首先建立一個XML文件,然后運用事件生成的StAX拉式方法,采用不同的方法解析它。
    <script type="text/javascript"><!--
    google_ad_client = "pub-4751025308591894";
    google_ad_width = 180;
    google_ad_height = 60;
    google_ad_format = "180x60_as_rimg";
    google_cpa_choice = "CAAQqfyujAIaCL3B8SF26akaKO3M93M";
    //--></script>
    <script type="text/javascript" src="</script>

    推式解析 vs. 拉式解析
    和推式解析相比,拉式解析具有以下優點:
    1、在拉式解析中,事件是由解析應用產生的,因此拉式解析中向客戶端提供的是解析規則,而不是解析器。
    2、同推式解析相比,拉式解析的代碼更簡單,而且不用那么多庫。
    3、拉式解析客戶端能夠一次讀取多個XML文件。
    4、拉式解析允許你過濾XML文件和跳過解析事件。

    進入StAX的世界
    StAX是Streaming API for XML的縮寫,它包含在2004年3月的JSR 173 中。StAX是JDK6.0中包含的新特性。
    在推式模型中,直到整個XML文件全部被解析,解析器才會產生解析事件。而拉式解析由應用程序來控制,也就是說解析事件由應用程序產生。這就意味著,你可以暫緩解析、解析時跳過某個元素或者同時解析多個文件。用DOM解析式要先將XML文件解析成DOM結構,因此降低了解析效率。使用StAX,解析事件在XML文件解析過程中產生。下面是各種解析方法之間的比較:

    ?XML Parser API Feature Summary
    Feature
    StAX
    SAX
    DOM
    TrAX
    API Type
    Pull, streaming
    Push, streaming
    In memory tree
    XSLT Rule
    Ease of Use
    High
    Medium
    High
    Medium
    XPath Capability
    No
    No
    Yes
    Yes
    CPU and Memory Efficiency
    Good
    Good
    Varies
    Varies
    Forward Only
    Yes
    Yes
    No
    No
    Read XML
    Yes
    Yes
    Yes
    Yes
    Write XML
    Yes
    No
    Yes
    Yes
    Create, Read, Update, Delete
    No
    No
    Yes
    No

    StAX API同樣也在JWSDP(Java Web Services Developer Pack )1.6中得到實現,你可以在包javax.xml.stream 中找到它。XMLStreamReader接口用來解析XML文件。XMLStreamWriter接口用來生成XML文件,XMLEventReader用一個對象事件迭代器來解析XML事件。與之相反,XMLStreamReader采用的是游標機制。

    前期準備
    如果你正在用JDK1.6,那么StAX API已經在默認的路徑下了。如果你在用JWSDP 1.6,你需要添加JWSDP 1.6 StAX API到指定路徑下。將<jwsdp-1.6>\sjsxp\lib\ jsr173_api.jar 和 <jwsdp-1.6>;\sjsxp\lib\sjsxp.jar添加到CLASSPATH環境變量中,安裝JWSDP 1.6到<jwsdp-1.6>目錄下,Jsr173_api.jar 是 JSR-173 API的JAR。

    未完,待續。。。


    評論:
    # re: 在JDK6.0中用StAX解析XML 2012-03-22 10:38 | findkalex
    博客很漂亮~  回復  更多評論
      
    主站蜘蛛池模板: 波多野结衣在线免费视频| 日本亚洲欧洲免费天堂午夜看片女人员 | 国产亚洲精品美女2020久久 | 久久国产精品免费一区| 免费观看国产精品| 美女裸体无遮挡免费视频网站| 日韩人妻无码免费视频一区二区三区| 亚洲中文字幕乱码熟女在线| 破了亲妺妺的处免费视频国产| 国产精品日本亚洲777| 亚洲电影日韩精品 | 亚洲ⅴ国产v天堂a无码二区| 久久久国产精品无码免费专区| 亚洲av无码成h人动漫无遮挡| 久久综合给合久久国产免费| 亚洲成人福利在线观看| 欧美最猛性xxxxx免费| 欧美日韩亚洲精品| 亚洲精品专区在线观看| a级毛片免费高清毛片视频| 99久久亚洲精品无码毛片| 久久久久久久免费视频| 国产成人高清亚洲一区91| 亚洲愉拍99热成人精品热久久| 无码精品国产一区二区三区免费 | 亚洲性日韩精品国产一区二区| aaa毛片免费观看| 亚洲精品欧洲精品| 国产精品另类激情久久久免费| 国产精品免费看久久久香蕉| 亚洲国产女人aaa毛片在线| 最近最新中文字幕完整版免费高清| 立即播放免费毛片一级| 亚洲国产另类久久久精品黑人 | 在免费jizzjizz在线播| 亚洲精品动漫免费二区| 亚洲日韩一页精品发布| 国产精品久久久久久久久久免费| 免费看黄福利app导航看一下黄色录像| 亚洲av永久无码制服河南实里| 日本免费人成黄页在线观看视频 |