XML學習 Xpath學習

2021-08-01 19:58:54 字數 1454 閱讀 5621

使用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...