1. 程式人生 > >xml之解析原理及dom4j查詢---2

xml之解析原理及dom4j查詢---2

一、解析方式

1、sax:特點:逐行解析,不可回退,只能查詢;

2、dom:特點:一次性解析成dom樹,可回退,能進行crud操作;

二、解析技術

JAXP:sun公司提供支援DOM和SAX開發包
JDom:dom4j兄弟
jsoup:一種處理HTML特定解析開發包
★dom4j:比較常用的解析開發包,hibernate底層採用。

三、dom解析的原理進而結構原型

xmldom 將文件載入到記憶體中,生成一個dom樹,並獲得一個Document物件,通過Document物件操作對dom進行操作。


四、dom4j進行查詢技術

1、匯入dom4j的jar包後在java檔案中,按以下步驟編寫

①建立核心物件SAXReader:SAXReader reader = new SAXReader();

②將xml文件載入到記憶體中形成dom樹:Document doc = reader.read(檔案路徑);

③獲取根節點:Element root = doc.getRootElement();通過根節點可以獲取其他節點(文字節點,屬性節點,元素節點)

④獲取所有子元素:List<Element> list = root.elements();

⑤獲取圓的指定屬性的內容:String value = 元素.attrbuteValue("屬性名");

⑥遍歷list獲取每一個元素:for(Element e:list){System.out.println(e);}


五、xpath 解析技術(依賴於dom4j)

使用步驟

①匯入兩個jar包(dom4j和jaxen-1.1-beta-6.jar兩個jar包缺一不可)

②載入xml檔案到記憶體中,操作如(四)中;

③使用api

doc.selectNode("表示式");//表示式為xpath表示式
doc.selectSingleNode("表示式");
表示式的寫法:(1)/ 從根節點選取 (2)// 從匹配選擇的當前節點選擇文件中的節點,而不考慮它們的位置
//元素名[@屬性名='屬性值'] 
例如,一個標籤下有一個id屬性且有值  id=2;
//元素名[@id='2'] 可以選擇它


相關推薦

xml解析原理dom4j查詢---2

一、解析方式 1、sax:特點:逐行解析,不可回退,只能查詢; 2、dom:特點:一次性解析成dom樹,可回退,能進行crud操作; 二、解析技術 JAXP:sun公司提供支援DOM和SAX開發包 JDom:dom4j兄弟 jsoup:一種處理HTML特定解析開發包 ★do

xml(Dom4J)解析原理程式碼--Dom4J學習小計

Dom4J解析xml原理:簡單地說,就是通過解析器將整個文件讀取到Document物件中(載入成Document樹),然後通過Document物件中可以獲取到節點(Node)物件(Node物件有幾種分類:標籤、屬性、文字和註釋),得到了Node物件,就可以對整個xml進行解

Spring監聽器ApplicationListener原理原始碼解析例項

一、原理及原始碼解析 事件:ContextRefreshedEvent、IOCTest_Ext$1[source=我釋出的事件]、ContextClosedEvent;  *  1)、ContextRefreshedEvent事件:  *      1)、容器建立物件:re

MySQL索引原理查詢優化(轉)

範圍 很難 等於 right 事件 原理 插入 jpg 個人網站 轉自:美團點評技術團隊http://tech.meituan.com/mysql-index.html MySQL憑借著出色的性能、低廉的成本、豐富的資源,已經成為絕大多數互聯網公司的首選關系型數據庫。雖然性

MySQL索引原理查詢優化-zz

`` 原理 並不是 計劃 ora 實的 birt 總計 war https://tech.meituan.com/mysql-index.html MySQL憑借著出色的性能、低廉的成本、豐富的資源,已經成為絕大多數互聯網公司的首選關系型數據庫。雖然性能出色,但所謂“好馬配

智能指針原理實現(2)- unique_ptr

unique clas 結束 基礎 無法 body 智能指針 周期 文件 只允許基礎指針的一個所有者。 可以移到新所有者(具有移動語義),但不會復制或共享(即我們無法得到指向同一個對象的兩個unique_ptr)。 替換已棄用的 auto_ptr。 相較於 boost::s

MySQL 索引原理與慢查詢優化

英文 borde 發生 聚集 引擎 返回 位置 時間 pro 一 索引介紹 二 索引類型 三 索引分類 四 聚合索引和輔助索引 五 測試索引 六 正確使用索引 七 組合索引 八 註意事項 九 查詢計劃 十 慢日誌查詢 十一 大數據量分頁優化 1. 索引介紹

Vue 進階系列(二)外掛原理實現

Vue進階系列彙總如下,歡迎閱讀,歡迎加群討論(文末)。 Vue 進階系列(一)之響應式原理及實現 Vue 進階系列(二)之外掛原理及實現 使用方法 外掛的詳細使用方法詳情看Vue官網 Vue官網之外掛Plugins 概括出來就是 1、通過Vue.use(MyPlugin)使用,

ansible基本原理命令

什麼是ansible ansible是新出現的自動化運維工具,基於Python開發,集合了眾多運維工具(\(puppet、chef、func、fabric\))的優點,實現了批量系統配置、批量程式部署、批量執行命令等功能。 ansible是基於 paramiko 開發的,並且基於模組化工作,本身沒有批量部

mysql索引原理與慢查詢優化

一、介紹 1.什麼是索引? 一般的應用系統,讀寫比例在10:1左右,而且插入操作和一般的更新操作很少出現效能問題,在生產環境中,我們遇到最多的,也是最容易出問題的,還是一些複雜的查詢操作,因此對查詢語句的優化顯然是重中之重。說起加速查詢,就不得不提到索引了。 2.為什麼

MySQL索引演算法原理查詢優化

前言 MySQL憑藉著出色的效能、低廉的成本、豐富的資源,已經成為絕大多數網際網路公司的首選關係型資料庫。雖然效能出色,但所謂“好馬配好鞍”,如何能夠更好的使用它,已經成為開發工程師的必修課,我們經常會從職位描述上看到諸如“精通MySQL”、“SQL語句優化”、“瞭解資料庫

day041MySQL索引原理與慢查詢優化,explain

本節內容: 1、介紹 2、索引的原理(目的:加速查詢) 3、索引的資料結構 4、聚集索引與輔助索引 5、MySQL索引管理 6、測試索引 7、正確使用索引 8、聯合索引與覆蓋索引 9、查詢優化神器--expla

XML解析方式4——DOM4J方式解析

參考四種生成和解析XML文件的方法詳解 XML的解析方式 DOM解析 SAX解析 DOM4J解析 【優點】 大量使用了Java集合類,方便Java開發人員,同時提供一些提高效能的替代方法。 支援XPath。 有很好的效能。 【缺點】 4. 大量使用了介面

MySQL索引原理和慢查詢優化

1. 索引介紹 需求:   一般的應用系統,讀寫比例在10:1左右,而且插入操作和一般的更新操作很少出現效能問題,在生產環境中,我們遇到最多的,也是最容易出問題的,還是一些複雜的查詢操作,因此對查詢語句的優化顯然是重中之重。說起加速查詢,就不得不提到索引了。 索引:    簡單的說,相當於

《STL系列》vector原理實現

最近忙得蛋疼,但還是想寫點屬於自己的東西。也不知道寫點啥,最後決定試著自己實現STL中常用的幾個集合,一來加深自己對STL的理解,二來看看自己是否有這個能力實現。實現目標就是:1能和STL相容;2最大化的實現STL中的介面並保持一致。即將STL中的集合換成我寫的也能用。這篇部落格介紹的是vector的原理及實

《STL系列》map原理實現

#ifndef _CSORTVECTOR_H_ #define _CSORTVECTOR_H_ namespace cth { template<typename T> class csortvector:public NoCopy { pub

MySQL索引原理查詢優化--美團分享

MySQL索引原理及慢查詢優化 http://tech.meituan.com/mysql-index.html MySQL憑藉著出色的效能、低廉的成本、豐富的資源,已經成為絕大多數網際網路公司的首選關係型資料庫。雖然效能出色,但所謂“好馬配好鞍”,如何能夠更好的使用

SpringBoot@EnableAutoConfiguration原理自定義擴充套件

spring Boot是一個偏執的開源框架,它可用於建立可執行的Spring應用程式,採用了習慣優於配置的方法。  此框架的神奇之處在於@EnableAutoConfiguration註釋,此註釋自動載入應用程式所需的所有Bean——這依賴於Spring Boot在類路徑

MySql索引原理查詢優化

MySQL憑藉著出色的效能、低廉的成本、豐富的資源,已經成為絕大多數網際網路公司的首選關係型資料庫。雖然效能出色,但所謂“好馬配好鞍”, 如何能夠更好的使用它,已經成為開發工程師的必修課,我們經常會從職位描述上看到諸如“精通MySQL”、“SQL語句優化”、“瞭解資料庫原

MySQL索引原理查詢優化--美團分享轉載

MySQL憑藉著出色的效能、低廉的成本、豐富的資源,已經成為絕大多數網際網路公司的首選關係型資料庫。雖然效能出色,但所謂“好馬配好鞍”,如何能夠更好的使用它,已經成為開發工程師的必修課,我們經常會從職位描述上看到諸如“精通MySQL”、“SQL語句優化”、“瞭解資料庫原理”等