Dom4j完整教程详解
轉(zhuǎn)自:?https://blog.csdn.net/qq_41860497/article/details/84339091?
?
目錄
1、DOM4J簡介
2、XML文檔操作1
? ? ? 2.1、讀取XML文檔:
? ? ? 2.2、獲取根節(jié)點
? ? ? 2.3、.?新增一個節(jié)點以及其下的子節(jié)點與數(shù)據(jù)
? ? ? 2.4、?寫入XML文件
? ? ? 2. 5、?遍歷xml節(jié)點
? ? ? 2.6、創(chuàng)建xml文件
? ? ? 2.7、修改節(jié)點屬性
? ? ? 2.8、刪除節(jié)點
2、XML文檔操作2
? ? ? ?2.1、Document對象相關(guān)
? ? ? ? ? 1、讀取XML文件,獲得document對象.
? ? ? ? ? 2、解析XML形式的文本,得到document對象.
? ? ? ? ? 3、主動創(chuàng)建document對象.
? ? ? ?2.2、節(jié)點相關(guān)
? ? ? ? ? 1、獲取文檔的根節(jié)點.
? ? ? ? ? 2、取得某節(jié)點的單個子節(jié)點.
? ? ? ? ? 3.取得節(jié)點的文字
? ? ? ? ? 4.取得某節(jié)點下指定名稱的所有節(jié)點并進(jìn)行遍歷.
? ? ? ? ? 5.對某節(jié)點下的所有子節(jié)點進(jìn)行遍歷.
? ? ? ? ? 6.在某節(jié)點下添加子節(jié)點.
? ? ? ? ? 7.設(shè)置節(jié)點文字.
? ? ? ? ? 8.刪除某節(jié)點.
? ? ? ? ? 9.添加一個CDATA節(jié)點.
? ? ? ?2.3、屬性相關(guān).
? ? ? ? ? 1.取得節(jié)點的指定的屬性
? ? ? ? ? 2.取得屬性的文字
? ? ? ? ? 3.遍歷某節(jié)點的所有屬性
? ? ? ? ? 4.設(shè)置某節(jié)點的屬性和文字.
? ? ? ? ? 5.設(shè)置屬性的文字
? ? ? ? ? 6.刪除某屬性
? ? ? 2.4、將文檔寫入XML文件.
? ? ? ? ? 1.文檔中全為英文,不設(shè)置編碼,直接寫入.
? ? ? ? ? 2.文檔中含有中文,設(shè)置編碼格式再寫入.
? ? ? 2.5、字符串與XML的轉(zhuǎn)換
? ? ? ? ?1.將字符串轉(zhuǎn)化為XML
? ? ? ? ?2.將文檔或節(jié)點的XML轉(zhuǎn)化為字符串.
? ?3、dom4j的事件處理模型涉及的類和接口:
? ? ? 3.1、類:SAXReader
? ? ? 3.2、接口ElementHandler
? ? ? 3.3、Element類
? ? ? 3.4、類DocumentHelper
4、通過xpath查找指定的節(jié)點
? ? ? ?4.1、?xpath語法
? ? ? ? ? 1、選取節(jié)點
? ? ? ? ? 2、謂語(Predicates)
? ? ? ? ? 3、選取未知節(jié)點
? ? ? ? ? 4、選取若干路徑
? ? ? ? ? 5、XPath?軸
? ? ? ? ? 6、路徑
? ? ? ? ? 7、XPath?運(yùn)算符
?
1、DOM4J簡介
????DOM4J是?dom4j.org?出品的一個開源?XML?解析包。DOM4J應(yīng)用于?Java?平臺,采用了?Java?集合框架并完全支持?DOM,SAX?和?JAXP。
????DOM4J?使用起來非常簡單。只要你了解基本的?XML-DOM?模型,就能使用。
????Dom:把整個文檔作為一個對象。
??DOM4J?最大的特色是使用大量的接口。它的主要接口都在org.dom4j里面定義:
| Attribute | 定義了?XML?的屬性。 |
| Branch | 指能夠包含子節(jié)點的節(jié)點。如XML元素(Element)和文檔(Docuemnts)定義了一個公共的行為 |
| CDATA | 定義了?XML CDATA?區(qū)域 |
| CharacterData | 是一個標(biāo)識接口,標(biāo)識基于字符的節(jié)點。如CDATA,Comment, Text. |
| Comment | 定義了?XML?注釋的行為 |
| Document | 定義了XML?文檔 |
| DocumentType | 定義?XML DOCTYPE?聲明 |
| Element | 定義XML?元素 |
| ElementHandler | 定義了Element?對象的處理器 |
| ElementPath | 被?ElementHandler?使用,用于取得當(dāng)前正在處理的路徑層次信息 |
| Entity | 定義?XML entity |
| Node | 為dom4j中所有的XML節(jié)點定義了多態(tài)行為 |
| NodeFilter | 定義了在dom4j?節(jié)點中產(chǎn)生的一個濾鏡或謂詞的行為(predicate) |
| ProcessingInstruction | 定義?XML?處理指令 |
| Text | 定義?XML?文本節(jié)點 |
| Visitor | 用于實現(xiàn)?Visitor模式 |
| XPath | 在分析一個字符串后會提供一個?XPath?表達(dá)式 |
接口之間的繼承關(guān)系如下:
interface java.lang.Cloneable
????interface org.dom4j.Node
???????????interface org.dom4j.Attribute
???????????interface org.dom4j.Branch
??????????????????interface org.dom4j.Document
??????????????????interface org.dom4j.Element
???????????interface org.dom4j.CharacterData
??????????????????interface org.dom4j.CDATA
??????????????????interface org.dom4j.Comment
??????????????????interface org.dom4j.Text
???????????interface org.dom4j.DocumentType
???????????interface org.dom4j.Entity
???????????interface org.dom4j.ProcessingInstruction
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的Dom4j完整教程详解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JDBC元数据操作(一)-- Datab
- 下一篇: spring的PathMatchingR