使用xpath的套路:
通過dom呼叫node中的如下方法,每個方法中的引數用 「xpath表示式」—string型
selectnodes(xpath), selectsinglenode(xpath), selectobject(xpath)
selectnodes(string xpathexpression) :通過xpath找到符合的元素,全按照返回出來
list:selectnodes(string xpathexpression, 比較xpath表示式的結果 排序 )
list:selectnodes(string xpathexpression, 排序引數, 是否刪除重複)
object:selectobject(string xpathexpression):僅僅區別在於返回值是object
node:selectsinglenode(string xpathexpression) 結果作為單個節點例項返回。
乙個小細節: 以上3個方法是node中的方法,因此任意節點都可以呼叫,
但所選擇的卻是document下面的所有符合xpath的節點或物件–不是當前呼叫節點子樹範圍(區域性),而是整棵樹(全域性)
xpath表示式幾個要點
@id: 表示屬性,@屬性
last():最後乙個
not:表示不是這乙個
normalize-space函式去掉前後空格後
count(bbb)=2:有2個bbb子元素的元素
name()='bbb':所有名稱為bbb的元素
starts-with(name(),'b'):選擇所有名稱以"b"起始的元素
contains(name(),'c'):選擇所有名稱包含"c"的元素
child軸(axis)包含上下文節點的子元素, 作為預設的軸,可以忽略不寫.
child::aaa == /aaa 任意子樹是aaa
descendant 後代
parent 父節點
ancestor 祖先節點,
following -sibling 弟弟節點
preceding-sibling 哥哥節點
following 下文所有的節點 ()
preceding 上文所有節點
descendant-or-self 自己+自己的後代
ancestor-or-self 自己+自己的直系祖先
package cn.hncu.dom4j;
import org.dom4j.document;
import org.dom4j.node;
import org.dom4j.io.saxreader;
public
class
xpath
}
XPath學習筆記
xpath 是一門在 xml 文件中查詢資訊的語言。xpath 用於在 xml 文件中通過元素和屬性進行導航。xpath包含有乙個標準的函式庫,是xslt中的主要元素,同時也是乙個w3c標準。若把xml用樹來表示,那麼根節點最上層的節點,根節點是唯一的。樹上其它的所有元素節點都是子節點或後代節點。元...
Xpath學習筆記
在 xpath 中,有七種型別的節點 元素 屬性 文字 命名空間 處理指令 注釋以及文件節點 或稱為根節點 lang eng harry pottertitle 29.99price book lang eng learning xmltitle 39.95price book bookstore ...
XPath學習筆記
使用lxml對爬取的網頁資料進行解析時,最長使用的方式是xpath,在scrapy爬蟲框架中也提供了相應的函式呼叫.xpath 和.css css 的方式實質上底層仍然被轉換成xpath方式進行處理。首先是xpath的基本使用方法,如圖 html doc 這是乙個鏈結 美女,約嗎?兄弟,你好嗎 se...