撩課-JavaWeb之xml解析DOM4J解析與Sax解析
XML的樹結構


文件結點

元素結點

屬性結點

文字結點

什麼是DOM
DOM:Document Object Model 文件物件模型 把文件中的成員描述成一個個物件. 使用Java程式碼操作 XML 或者js程式碼操作HTML
DOM解析的特點
在載入的時候, 一次性的把整個XML文件載入 進記憶體,在記憶體中形成一顆樹(Document物件). 以後使用程式碼操作Document, 其實操作的是記憶體中的DOM樹, 和本地磁碟中的XML檔案 沒有直接關係. 由於操作的是記憶體當中的dom, 磁碟中xml當中的內容並沒有變, 要進行同步, 讓兩邊保持一致 查詢不需要同步, 只有資料變化的時候, 才需要同步 缺點: 若XML檔案過大, 可能造成記憶體溢位.
DOM解析步驟
1.建立解析器工廠 2.通過解析器工廠得到解析器 3.通過解析器得到document物件 4.獲取具體的節點內容

DOM修改元素內容
1.獲取所有指定節點 2.獲取要修改的節點 3.修改元素內容 4.從記憶體寫到文件做同步操作

DOM新增元素
1.建立一個節點 2.設定元素內容 3.獲取要新增元素的父結點 4.新增節點 5.從記憶體寫到文件做同步操作

DOM刪除元素
1.獲取一個節點 2.獲取該節點的父節點,從父節點當中移除 3.從記憶體寫到文件做同步操作

image.png
DOM新增元素屬性
1.獲取要新增屬性的節點 2.把獲取的節點強制轉換成element 3.設定屬性 4.從記憶體寫到文件做同步操作

Sax解析介紹
逐行讀取,基於事件驅動 優點:不佔記憶體,速度快 缺點:只能讀取,不能回寫 解析流程:

DOM4j介紹
DOM4J是dom4j.org出品的一個開源XML解析包 dom4j是一個十分優秀的JavaXML API, 具有效能優異、 功能強大和極其易使用的特點, 它的效能超過sun公司官方的dom技術, 同時它也是一個開放原始碼的軟體 越來越多的Java軟體都在使用dom4j來讀寫XML, 特別值得一提的是連Sun的JAXM也在用dom4j。 這已經是必須使用的jar包, Hibernate也用它來讀寫配置檔案。
dom4j解析步驟
下載Dom4j的jar包 在工程根目錄當中建立一個資料夾為lib 編譯jar包 建立SAXReader 讀取指定路徑的xml
獲取所有指定標籤內容
1.建立SAXReader 2.獲取根元素 3.獲取根元素下所有的元素 4.遍歷每一個子元素 5.獲取指定名稱的元素 6.獲取標籤當中的文字

獲取全部標籤內容
1.建立SAXReader 2.獲取根元素 3.獲取根元素下所有的元素 4.遍歷每一個子元素

新增元素
1.建立SAXReader 2.獲取根元素 3.給根元素新增元素和屬性,並返回新增的元素

如果你想要獲取Xmind思維導圖源件加群:869866610,進群可以獲取以上技術的學習視訊。