Dom4j中SelectNodes使用方法

2021-09-28 14:08:47 字數 1500 閱讀 4972

xpath 是 xml 的內容,這裡 selectnodes 是 dom4j 中 xmldocument 或 xmlnode 的乙個方法。selectnodes 使用 xpath 來選取節點。

重要語法

selectnodes("item")

從當前節點的兒子節點中選擇名稱為 item 的節點。

selectnodes("/item")

從根節點的兒子節點中選擇名稱為 item 的節點。

selectnodes("//item")

從任意位置的節點上選擇名稱為 item 的節點。要重點突出這個任意位置,它不受當前節點的影響,也就是說假如當前節點是在第 100 層(有點誇張),也可以選擇第一層的名稱為 item 的節點。

selectnodes(".")

選擇當前節點。

selectnodes("..")

選擇當前節點的父節點。

selectnodes("//item[@name]")

在 selectnodes("//item") 的基礎上,增加了乙個限制,就是要求擁有 name 屬性。

selectnodes("//item[@name='111']")

在 selectnodes("//item[@name]") 的基礎上,增加了乙個限制,就是要求 name 屬性值為 111。注意語法中有引號;如果沒有引號,則表示是數字型別,對於數字型別可以使用大於號、小於號等,比如:selectnodes("//item[@v>333]")。

selectnodes("//item[1]")

選擇第乙個 item,注意是第乙個,不是第二個。

還有這裡是指親兄弟間的第乙個 item,也就是說:父級若有三個 item,則選擇第乙個;若父級第二個 item 的有兩個名稱同樣為 item 的兒子,則第乙個兒子會被選擇出來;若父級第三個 item 的也有兩個名稱同樣為 item 的兒子,則第乙個兒子也會被選擇出來……

selectnodes("//item[last()-1]")

倒數第二個節點,同樣是指親兄弟間的倒數第二個。

selectnodes("//item[position()<=2]")

位置為第一和第二的節點(第乙個節點的 position() 為 1),同樣是指親兄弟間的位置。

selectnodes("

//@name")

selectnodes("/root/item/@name") 取 item 的 name 屬性

選擇 name 屬性,注意這下選擇的是屬性,而不是節點了。用 value 屬性獲取屬性集合的屬性值。

selectnodes("/root/item")

根節點 root 下的 item 兒子節點。

selectnodes("/root//item")

根節點 root 下的不管是兒子、孫子、重孫子……,只要是名稱為 item 的統統選取出來。

萬用字元

運算子| 表示或。selectnodes("//item|//channel"),選擇 item 或 channel 節點。

dom4j 使用dom4j生成xml

使用org.dom4j.element 建立xml 生成service.xml檔案 param tran 交易物件 param filepath 資料夾路徑 public static void exportservicexml listtranlist,string filepath servic...

dom4j簡單使用

公司這邊是用dom4j,主要是用來解析xml的,一般有這麼幾個操作 1.建立xml文件 org.dom4j.document doc documenthelper.createdocument 2.建立根元素並新增 element root documenthelper.createelement ...

Dom4J學習筆記

1.xml檔案的建立和解析 dom4j 1.dtd宣告格式 根元素 元素內節點的宣告 2.xml檔案的生成 input.jsp 3.xml檔案的解析 saxreader reader new saxreader document document reader.read new file strut...