XPATH NOTE

XPath即為XML路徑語言,以樹狀結構發展而成,目前被XPointer與XSL以類似資料夾路徑一般的字串,去找尋出XML元素節點的位置

位置路徑運算子

運算子 範例 說明
/
/ 根節點下所有XML元素
//
//title 根節點下所有title元素
.
  目前的節點
..
  父節點
*
/glossary/item/* 選擇glossary下的所有元素
*
/*/*/*/title 選擇所有前面有三層的title元素
@
/glossary/item/title@version 尋找子元素title, 並傳回version屬性的值
[]
/glossary/item/title[3] 選擇item子元素的第三個title元素
[]
/glossary/item/title[@version] 選擇item元素擁有屬性version的所有title元素
|
//title|//definition 選擇所有的title和definition元素

XPath的函數

函數 範例 說明
count()
//*[count(title)=3] 所有擁有三個title子元素的元素
count()
//*[count(*)=2] 所有擁有兩個子元素的元素
position()
//title[position()mod 2 =0] 所有偶數的title元素
position()
/glossary/item/title[position()=2] 第二個title元素, 如同title[2]
last()
/glossary/item/title[last()] 選擇item子元素最後一個title元素

上面兩個表格是上次我再寫XPath作業所用到的資料

整理的還蠻清楚的,大家可以參考看看

資料來源:課本+http://andypony.mis.stut.edu.tw/