1. xpath中的符號
符號
說明
示例
示例說明
/
表示從根節點開始選擇
/pets
選擇根節點
pets
表示節點和子節點之間的間隔符
/pets/dog 選擇
pets
節點下的
dog節點
//xx
表示從整個
xml文件中查詢,而不考慮當前節點位置
//price
選擇文件中所有的
price節點
.
單個英文半形句點表示選擇當前節點
/pets/. 選擇
pets節點
..
雙點,表示選擇父節點
/pets/dog[0]/.. 表示
pets
節點,也就是第乙個
dog節點的父節點
@xx
表示選擇屬性
//dog/@color
表示選擇所有
dog節點的
color
屬性集合
[…]
中括號表示選擇條件,括號內為條件
//dog[@color=』white』] 所有
color
為white
的dog節點
//dog[/price<100] 所有
price
字節點值小於
100的
dog節點
中括號內數字為節點索引,類似
c#等語言中的陣列
,陣列下標是從
1開始的
//dog[1] 第
1個dog節點
//dog[last()]
最後乙個
dog節點,
last()
是xpath
內建函式
|
單豎槓表示合併節點結合
//dog[@color=』white』] | //cat[@color=』white』]
color
屬性為white
的dog
節點和color
屬性為white
的cat節點
*
星號表示任何名字的節點或者屬性
//dog/* 表示
dog節點的所有子節點
//dog/@* 表示
dog節點的所有屬性節點
2. xpath數**算符
+ 加號表示加 -
表示數字相減 *
表示乘以
div表示除以,這裡數學上的除號/已經被用作節點之間分隔符了
mod表示取餘
3. xpath邏輯運算子
=等於,相當於c#中的 ==
!=不等於
>
大於>=
大於等於
<
小於<=
小於等於
and並且 與關係
or或者 或關係
4.xpath axes從字面翻譯這個是xpath軸的意思,但根據我的理解這個翻譯成xpath節點關係運算關鍵字更合適,就是一組關鍵字加上::雙冒號表示和當前節點有關係的乙個或者一組節點.
使用語法: axisname::nodetest[predicate] 即軸名字::節點名字[取節點條件]
具體說明如下:
關鍵字 說明
示例示例說明
ancestor
當前節點的父祖節點
ancestor::pig
當前節點的祖先節點中的
pig節點
ancestor-or-self
當前節點以及其父祖節點
ancestor::pig
attribute
當前節點的所有屬性
attribute::weight
相當於@weight
,attribute::和@
是等價的
child
當前節點的所有字節點
child::*[name()!=』price』]
選擇名字不是
price
的子節點
descendant
子孫節點
descendant::*[@*]
有屬性的子孫節點
descendant-or-self
子孫節點以及當前節點
descendant-or-self::*
following
xml文件中當前節點之後的所有節點
following::*
following-sibling
當前節點的同父弟弟節點
following-sibling::
preceding
xml文件中當前節點之前的所有節點
preceding::*
namespace
選取當前節點的所有命名空間節點
namespace::*
parent
當前節點的父節點
parent::
相當於雙點..
preceding-sibling
當前節點之後的同父兄節點
preceding-sibling::*
self
當前節點
self::*
相當於單點.
5. 常用的xpath函式介紹:
在xpath表示式中常用的函式有下面兩個:
position() 表示節點的序號例如 //cat[position() = 2] 表示取序號為2的dog節點
last() 表示取最後乙個節點 //cat[last()]
name() 表示當前節點名字 /pets/*[name() != 'pig'] 表示/pets下名字不是pig的子節點
6.注意
firebug生成的xpath中如果含有tbody標籤,需要把tbody去掉,否則不能正確獲取網頁的內容。如firebug生成的xpath為 /html/body/table/tbody/tr,那麼則需要修改為/html/body/table/tr。
xpath基礎知識點
from lxml import etree text 新華書店 harry potter 29.99 learning xml 39.95 python 大全 99.95 將字串物件轉換為xml物件才可以使用xpath html xml etree.html text print html xml...
C 基礎知識整理 基礎知識(2) 類
類,是物件導向語言的基礎。類的三大特性 封裝 繼承 多型。最基本的特性就是封裝性。程式設計師用程式描述世界,將世界的所有事物都看成物件,怎麼描述這個物件?那就是類了。也就是用類來封裝物件。用書上的話說,類是具有相同屬性和行為的物件的抽象。寶馬汽車 別克汽車 五菱之光汽車.基本具有相同的屬性和行為,所...
C 基礎知識整理 基礎知識(2) 類
類,是物件導向語言的基礎。類的三大特性 封裝 繼承 多型。最基本的特性就是封裝性。程式設計師用程式描述世界,將世界的所有事物都看成物件,怎麼描述這個物件?那就是類了。也就是用類來封裝物件。用書上的話說,類是具有相同屬性和行為的物件的抽象。寶馬汽車 別克汽車 五菱之光汽車.基本具有相同的屬性和行為,所...