<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類,得到標簽、文本等數據。使用SimpleElementSimpleAttr等類存放數據,生成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 閱讀(1432) 評論(1)  編輯  收藏 所屬分類: 技術

    評論

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

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

    主站蜘蛛池模板: 香蕉免费看一区二区三区| 国产男女爽爽爽免费视频| 男人的天堂亚洲一区二区三区| 亚洲av无码av在线播放| 亚洲一区二区三区在线观看精品中文| 永久在线观看www免费视频| 亚洲AV成人无码网站| 亚洲国产精品lv| 日本不卡视频免费| 一级毛片免费观看不卡的| 综合偷自拍亚洲乱中文字幕| 亚洲国产精品VA在线观看麻豆 | 日本特黄特黄刺激大片免费| 一级毛片免费观看不收费| 亚洲午夜一区二区电影院| 亚洲中文字幕成人在线| 成人毛片免费观看视频在线| 最近的2019免费中文字幕| 亚洲乱码在线观看| 亚洲bt加勒比一区二区| 国产一区二区三区在线观看免费 | 国产精品免费一级在线观看| 无码精品一区二区三区免费视频| 99亚洲精品卡2卡三卡4卡2卡| 中文字幕亚洲免费无线观看日本| 亚洲国模精品一区| 德国女人一级毛片免费| 99爱视频99爱在线观看免费| 一级特黄特色的免费大片视频| 中文字幕乱码亚洲无线三区| 亚洲天天做日日做天天欢毛片| AV在线亚洲男人的天堂| 日本午夜免费福利视频| 国产精彩免费视频| 日本xxxx色视频在线观看免费| 一级做a爰全过程免费视频毛片| 亚洲人片在线观看天堂无码| 亚洲乱码在线播放| 久久亚洲国产精品成人AV秋霞 | 国产精品亚洲专区无码WEB| 亚洲免费闲人蜜桃|