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

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

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

    Rex Mao

    分享java技術與生活

    XML的DOM解析器的java實現(二) 程序結構設計

     

    結構設計

    各個類的功能介紹

    NodeElementDocumentAttrW3CDOM規范要求實現的接口。還有其它接口未列出。

    SimpleNode 繼承Node接口,實現Node接口的基本功能。

     

    SimpleElement繼承NodeElement接口,對應DOM樹中的標準節點,也就是XML文件中的一個標簽。

     

    SimpleDocument 繼承NodeDocument接口,對應整個DOM樹,它是解析器解析完成后,返回的對象。用戶可以使用該對象訪問整個DOM樹。

     

    SimpleAttr 繼承NodeAttr接口,對應DOM樹中的屬性節點,用于存放屬性名稱和屬性值。

     

    CharCollector 字符收集器類,它直接與XML文件接觸,根據需要向調用者提供下一個標簽或文本等數據。

     

    SimpleDOMParser 解析器的核心類,它使用CharCollector類,得到標簽、文本等數據。使用SimpleElement、SimpleAttr等類存放數據,生成SimpleDocumnet對象返回給調用者。

     

    MainFrame 用戶界面類,它將解析結果展示給用戶,并且根據用戶的操作,與用戶進行交互。

     

    Manager 中間層管理類,它協調用戶界面(MainFrame)與解析器內核(SimpleDOMParser)之間的關系,實現解析器的控制。

     

    內部接口設計

    類名稱

    調用類

    調用功能

    SimpleDOMParser

    SimpleElement

    節點的存儲,查找,刪除。

    SimpleDOMParser

    SimpleAttr

    屬性節點的存儲,查找,刪除。

    SimpleDOMParser

    SimpleDocument

    生成DOM

    SimpleDomParser

    CharCollector

    字符收集,得到標簽與文本等。

    Manager

    SimpleDOMParser

    解析XML文檔

    Manager

    MainFrame

    用戶界面的相關操作

     

    用例關系設計

    用例介紹

    用戶:          參與者, 即軟件的使用者。

    XML文件:       參與者,XML文件。

    鏈接的文件:    參與者,XML文件中鏈接的外部文件。

    選擇XML文件: 用戶通過文件選擇框選擇一個本地的XML文件。

    選擇URL地址: 用戶輸入一個有效的URL,指向網絡上的XML格式的網頁。

    解析XML文件: 用戶確定對XML文件進行解析,該項操作要發生在選擇XML文件或選擇URL地址之后。

    修改文件:        用戶對XML文件進行修改

    保存文件:        用戶通過文件選擇框,選擇位置保存XML文件。

    選擇DOM樹節點:用戶選擇解析后的DOM樹型結構上的節點。

    解析器解析:     解析器對XML進行解析

    收集字符:        字符收集器負責處理XML的字符數據

    界面展示:        通過樹型結構和圖表向用戶展示數據。

     

    字符收集器有限狀態機

    DFA M={S,Ts,Tp,Tq,Cp,Ep,Er,Q},{LT,RT,A,C,EC,,EOF,NL,NLRA},f,S,{Q}

     

    其中 字符集:

    LT={<}

    RT={/>}

    A={&amp,&lt,&gt,&apos,&qout}

    C={<!CDATA[[}

    EC={]]>}

    EOF代表文件結束

    NL代表不是<的字符

    NLRA 代表除去LT,RT,LTL,A,C的所有字符

     

    狀態:

    S 開始狀態

    Ts:標簽處理開始狀態

    Tp:標簽處理狀態

    Tq:標簽處理結束狀態

    CpCDATA節點處理狀態

    Ep:內建實體處理狀態

    Er:錯誤狀態

    Q:結束狀態

     

    狀態轉換函數:

     

    f(S,LT)=Ts

    f(S,NL)=Er

    f(Tp,RT)=Tq

    f(Tp,A)=Cp

    f(Tp,C)=Ep

    f(Ep,EC)=Tp

    f(Ep,EOF)=Er

    f(Tq,LT)=Ts

    f(Tq,EOF)=Q

    f(Tq,NLRA)=Tq

     

    posted on 2007-05-27 13:10 Rex Mao 閱讀(1429) 評論(1)  編輯  收藏 所屬分類: 技術

    評論

    # re: XML的DOM解析器的java實現(二) 程序結構設計 2008-06-19 18:04 zhujie

    我是一名學生,老師讓我做xml文檔的dom解析,我想也用java實現,你能否共享一下代碼,對我畢設幫助很大,非常感謝  回復  更多評論   

    主站蜘蛛池模板: 国产福利免费在线观看| 免费av欧美国产在钱| 国产免费资源高清小视频在线观看| 亚洲天堂福利视频| 91高清免费国产自产| 久久狠狠爱亚洲综合影院| 无码国产精品一区二区免费| 亚洲成人福利在线观看| 中文字幕乱码免费视频| 亚洲精品人成网在线播放影院| 午夜dj免费在线观看| jzzijzzij在线观看亚洲熟妇| 国产一区二区三区免费视频| 男女猛烈xx00免费视频试看| 伊人久久大香线蕉亚洲五月天| 精品免费久久久久国产一区 | 久久午夜夜伦鲁鲁片免费无码影视| 亚洲av丰满熟妇在线播放| 最近中文字幕高清免费中文字幕mv| 亚洲一区二区三区高清视频| 日本一区二区三区日本免费| 一级做a爰片久久毛片免费陪| 亚洲国产精品VA在线观看麻豆| 57pao一国产成永久免费| 国产亚洲精品bv在线观看| 亚洲国产精品第一区二区三区| 中文字幕日本人妻久久久免费| 91亚洲国产成人精品下载| 好吊妞视频免费视频| yy一级毛片免费视频| 亚洲国产老鸭窝一区二区三区| 成人免费午夜在线观看| 一级做a爰片久久毛片免费陪| 亚洲高清在线观看| 国产美女精品视频免费观看| 嫩草成人永久免费观看| 亚洲乱亚洲乱妇24p| 亚洲Av无码精品色午夜| 国产在线国偷精品产拍免费| 巨胸喷奶水视频www免费视频| 久久亚洲最大成人网4438|