xpath查詢
以一段xml文件為例項
<?xml version="1.0" encoding="utf-8"?>
>
username
="zhangsan"
password
="123"
/>
username
="lisi"
password
="456"
/>
username
="wangwu"
hobby
="football"
/>
username
="zhaoliu"
age="25"
/>
users
>
xpath路徑表示式
表示式描述nodename
選取此節點的所有子節點
/從根節點中選取
//從文件中的任意節點位置選取
.選取當前節點
…選取當前節點的父節點
@選取屬性例項
路徑表示式
描述users
選取users元素的所有子節點
/users
選取根元素 users
/users/user
選取屬於users 的子元素中的所有 user 元素
//user
選取所有 user 子元素,無論它們在何位置,都選取
/users//user
選取屬於users 的子元素中的所有 user 元素,無論它們在何位置
//@username
選取名為username的所有屬性
帶有謂語的例項
路徑表示式
描述/users/user
選取屬於 users 子元素的第乙個 user 元素
/users/user[last()]
選取屬於 users 子元素的最後乙個 user 元素
/users/user[last()-1]
選取屬於 users 子元素的倒數第二個 user 元素
/users/user[position() < 3]
選取屬於 users 子元素的最前面兩個 user 元素
//user[@username]
選取所有擁有名為 username 的屬性的 user 元素
//user[@username=『zhangsan』]
選取所有擁有名為 username 且其值為"zhangsan" 的屬性的 user 元素
/users/user[age>20]
選取 users 元素的所有擁有名為age 且其值大於20 的屬性的 user 元素
//user[@username]
選取所有擁有名為 username 的屬性的 user 元素。
萬用字元
萬用字元描述
*匹配任何元素節點
@*匹配任何屬性節點
node()
匹配任何型別的節點
帶萬用字元的例項
路徑表示式
描述/users/*
選取 users 元素下的所有子元素。
//*選取文件中的所有元素。
//username[@*]
選取所有帶有屬性的 username 元素。
不知道是Dom4 的Bug不
在struts檔案中都有這麼一段,但是如果你在這個檔案中來讀點東西,apache software foundation dtd struts configuration 1.1 en 如果你在servrlet的初始化的時候來讀這個檔案,假如沒有連網,就讀不了這個檔案,他會造成nested問題。但是...
dom4j中xpath的使用
關鍵字 dom4j xpath 獲取document 查詢element xpath語法 xpath 使用路徑表示式在 xml 文件中選取節點。節點是通過沿著路徑或者 step 來選取的。表示式描述 nodename 選取此節點的所有子節點 從根節點擊取 從匹配選擇的當前節點擊擇文件中的節點,而不考...
dom4j中xpath的使用
獲取document 查詢element xpath語法 xpath 使用路徑表示式在 xml 文件中選取節點。節點是通過沿著路徑或者 step 來選取的。表示式 描述 nodename 選取此節點的所有子節點 從根節點擊取 從匹配選擇的當前節點擊擇文件中的節點,而不考慮它們的位置 選取當前節點 選...