<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无码| 3344免费播放观看视频| 亚洲欧洲精品视频在线观看| 亚洲成人免费网址| 亚洲а∨天堂久久精品9966| 国产成人高清精品免费软件| 免费人成在线观看播放a| 亚洲精品国精品久久99热| 91av免费在线视频| 久久精品亚洲中文字幕无码网站| 97久久免费视频| 国产成人精品日本亚洲网址| 国产美女精品视频免费观看| 少妇亚洲免费精品| 精品亚洲一区二区| 国产又黄又爽又猛免费app| 亚洲一区二区三区丝袜| 亚洲国产免费综合| 日韩精品内射视频免费观看| 亚洲国产人成在线观看| 国产公开免费人成视频| 91免费福利视频| 国产精品亚洲四区在线观看| 免费成人黄色大片| 久久99精品视免费看| 亚洲综合激情五月丁香六月| 久久久久亚洲精品无码网址 | 国产大片线上免费看| 香蕉视频在线免费看| 亚洲精品熟女国产| 国产又大又粗又硬又长免费 | 亚洲阿v天堂在线2017免费| 好紧我太爽了视频免费国产 | 男人天堂2018亚洲男人天堂| 久久久久无码专区亚洲av| 亚洲免费电影网站| jizz免费在线影视观看网站|