亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

XPath 11個實例

2019-11-18 16:58:27
字體:
來源:轉載
供稿:網友

實例 1
基本的XPath語法類似于在一個文件系統中定位文件,如果路徑以斜線 / 開始, 那么該路徑就表示到一個元素的絕對路徑。
/AAA
選擇根元素AAA
     <AAA>
          <BBB/>
          <CCC/>
          <BBB/>
          <BBB/>
          <DDD>
               <BBB/>
          </DDD>
          <CCC/>
     </AAA> 

/AAA/CCC
選擇AAA的所有CCC子元素
     <AAA>
          <BBB/>
          <CCC/>
          <BBB/>
          <BBB/>
          <DDD>
               <BBB/>
          </DDD>
          <CCC/>
     </AAA>  

/AAA/DDD/BBB
選擇AAA的子元素DDD的所有子元素
     <AAA>
          <BBB/>
          <CCC/>
          <BBB/>
          <BBB/>
          <DDD>
               <BBB/>
          </DDD>
          <CCC/>
     </AAA>
實例 2
如果路徑以雙斜線 // 開頭, 則表示選擇文檔中所有滿足雙斜線//之后規則的元素(無論層級關系) //BBB
選擇所有BBB元素
     <AAA>
          <BBB/>
          <CCC/>
          <BBB/>
          <DDD>
               <BBB/>
          </DDD>
          <CCC>
               <DDD>
                    <BBB/>
                    <BBB/>
               </DDD>
          </CCC>
     </AAA>
 
//DDD/BBB
選擇所有父元素是DDD的BBB元素
     <AAA>
          <BBB/>
          <CCC/>
          <BBB/>
          <DDD>
               <BBB/>
          </DDD>
          <CCC>
               <DDD>
                    <BBB/>
                    <BBB/>
               </DDD>
          </CCC>
     </AAA>
實例 3
星號 * 表示選擇所有由星號之前的路徑所定位的元素
/AAA/CCC/DDD/*
選擇所有路徑依附于/AAA/CCC/DDD的元素
     <AAA>
          <XXX>
               <DDD>
                    <BBB/>
                    <BBB/>
                    <EEE/>
                    <FFF/>
               </DDD>
          </XXX>
          <CCC>
               <DDD>
                    <BBB/>
                    <BBB/>
                    <EEE/>
                    <FFF/>
               </DDD>
          </CCC>
          <CCC>
               <BBB>
                    <BBB>
                         <BBB/>
                    </BBB>
               </BBB>
          </CCC>
     </AAA>
 
/*/*/*/BBB
選擇所有的有3個祖先元素的BBB元素
     <AAA>
          <XXX>
               <DDD>
                    <BBB/>
                    <BBB/>
                    <EEE/>
                    <FFF/>
               </DDD>
          </XXX>
          <CCC>
               <DDD>
                    <BBB/>
                    <BBB/>
                    <EEE/>
                    <FFF/>
               </DDD>
          </CCC>
          <CCC>
               <BBB>
                    <BBB>
                         <BBB/>
                    </BBB>
               </BBB>
          </CCC>
     </AAA>
 
//*
選擇所有元素
  <AAA>
        <XXX>
               <DDD>
                    <BBB/>
                    <BBB/>
                    <EEE/>
                    <FFF/>
               </DDD>
          </XXX>
          <CCC>
               <DDD>
                    <BBB/>
                    <BBB/>
                    <EEE/>
                    <FFF/>
               </DDD>
          </CCC>
          <CCC>
               <BBB>
                    <BBB>
                         <BBB/>
                    </BBB>
               </BBB>
          </CCC>
     </AAA>
實例 4
方塊號里的表達式可以進一步的指定元素, 其中數字表示元素在選擇集里的位置, 而last()函數則表示選擇集中的最后一個元素.

/AAA/BBB[1]
選擇AAA的第一個BBB子元素
     <AAA>
          <BBB/>
          <BBB/>
          <BBB/>
          <BBB/>
     </AAA>
 
/AAA/BBB[last()]
 
選擇AAA的最后一個BBB子元素
     <AAA>
          <BBB/>
          <BBB/>
          <BBB/>
          <BBB/>
     </AAA>
實例 5


//@id
選擇所有的id屬性
     <AAA>
          <BBB id = /"b1/"/>
          <BBB id = /"b2/"/>
          <BBB name = /"bbb/"/>
          <BBB/>
     </AAA>
 
//BBB[@id]
選擇有id屬性的BBB元素
     <AAA>
          <BBB id = /"b1/"/>
          <BBB id = /"b2/"/>
          <BBB name = /"bbb/"/>
          <BBB/>
     </AAA>
 
//BBB[@name]
選擇有name屬性的BBB元素
     <AAA>
          <BBB id = /"b1/"/>
          <BBB id = /"b2/"/>
          <BBB name = /"bbb/"/>
          <BBB/>
     </AAA>
 
//BBB[@*]
選擇有任意屬性的BBB元素
     <AAA>
          <BBB id = /"b1/"/>
          <BBB id = /"b2/"/>
          <BBB name = /"bbb/"/>
          <BBB/>
     </AAA>
 
//BBB[not(@*)]
選擇沒有屬性的BBB元素
     <AAA>
          <BBB id = /"b1/"/>
          <BBB id = /"b2/"/>
          <BBB name = /"bbb/"/>
          <BBB/>
     </AAA>
實例 6
屬性的值可以被用來作為選擇的準則, normalize-space函數刪除了前部和尾部的空格, 并且把連續的空格串替換為一個單一的空格

//BBB[@id=/'b1/']
選擇含有屬性id且其值為/'b1/'的BBB元素
     <AAA>
          <BBB id = /"b1/"/>
          <BBB name = /" bbb /"/>
          <BBB name = /"bbb/"/>
     </AAA>
 
//BBB[@name=/'bbb/']
選擇含有屬性name且其值為/'bbb/'的BBB元素
     <AAA>
          <BBB id = /"b1/"/>
          <BBB name = /" bbb /"/>
          <BBB name = /"bbb/"/>
     </AAA>
 
//BBB[normalize-space(@name)=/'bbb/']
選擇含有屬性name且其值(在用normalize-space函數去掉前后空格后)為/'bbb/'的BBB元素
     <AAA>
          <BBB id = /"b1/"/>
          <BBB name = /" bbb /"/>
          <BBB name = /"bbb/"/>
     </AAA>
實例 7
count()函數可以計數所選元素的個數

//*[count(BBB)=2]
選擇含有2個BBB子元素的元素
     <AAA>
          <CCC>
               <BBB/>
               <BBB/>
               <BBB/>
          </CCC>
          <DDD>
               <BBB/>
               <BBB/>
          </DDD>
          <EEE>
               <CCC/>
               <DDD/>
          </EEE>
     </AAA>
 
//*[count(*)=2]
選擇含有2個子元素的元素
     <AAA>
          <CCC>
               <BBB/>
               <BBB/>
               <BBB/>
          </CCC>
          <DDD>
               <BBB/>
               <BBB/>
          </DDD>
          <EEE>
               <CCC/>
               <DDD/>
          </EEE>
     </AAA>
 
//*[count(*)=3]
選擇含有3個子元素的元素
     <AAA>
          <CCC>
               <BBB/>
               <BBB/>
               <BBB/>
          </CCC>
          <DDD>
               <BBB/>
               <BBB/>
          </DDD>
          <EEE>
               <CCC/>
               <DDD/>
          </EEE>
     </AAA>
實例 8
name()函數返回元素的名稱, start-with()函數在該函數的第一個參數字符串是以第二個參數字符開始的情況返回true, contains()函數當其第一個字符串參數包含有第二個字符串參數時返回true.

//*[name()=/'BBB/']
選擇所有名稱為BBB的元素(這里等價于//BBB)
     <AAA>
          <BCC>
               <BBB/>
               <BBB/>
               <BBB/>
          </BCC>
          <DDB>
               <BBB/>
               <BBB/>
          </DDB>
          <BEC>
               <CCC/>
               <DBD/>
          </BEC>
     </AAA>
 
//*[starts-with(name(),/'B/')]
選擇所有名稱以/"B/"起始的元素
     <AAA>
          <BCC>
               <BBB/>
               <BBB/>
               <BBB/>
          </BCC>
          <DDB>
               <BBB/>
               <BBB/>
          </DDB>
          <BEC>
               <CCC/>
               <DBD/>
          </BEC>
     </AAA>
 
//*[contains(name(),/'C/')]
選擇所有名稱包含/"C/"的元素
     <AAA>
          <BCC>
               <BBB/>
               <BBB/>
               <BBB/>
          </BCC>
          <DDB>
               <BBB/>
               <BBB/>
          </DDB>
          <BEC>
               <CCC/>
               <DBD/>
          </BEC>
     </AAA>
實例 9
多個路徑可以用分隔符 | 合并在一起

//CCC | //BBB
選擇所有的CCC和BBB元素
     <AAA>
          <BBB/>
          <CCC/>
          <DDD>
               <CCC/>
          </DDD>
          <EEE/>
     </AAA>
 
/AAA/EEE | //BBB
選擇所有的BBB元素和所有是AAA的子元素的EEE元素
     <AAA>
          <BBB/>
          <CCC/>
          <DDD>
               <CCC/>
          </DDD>
          <EEE/>
     </AAA>
 
/AAA/EEE | //DDD/CCC | /AAA | //BBB
可以合并的路徑數目沒有限制
     <AAA>
          <BBB/>
          <CCC/>
          <DDD>
               <CCC/>
          </DDD>
          <EEE/>
     </AAA>
實例 10
child軸(axis)包含上下文節點的子元素, 作為默認的軸,可以忽略不寫.

/AAA
等價于 /child::AAA
     <AAA>
          <BBB/>
          <CCC/>
     </AAA>
 
/child::AAA
等價于/AAA
     <AAA>
          <BBB/>
          <CCC/>
     </AAA>
 
/AAA/BBB
等價于/child::AAA/child::BBB
     <AAA>
          <BBB/>
          <CCC/>
     </AAA>
 
/child::AAA/child::BBB
等價于/AAA/BBB
     <AAA>
          <BBB/>
          <CCC/>
     </AAA>
 
/child::AAA/BBB
二者都可以被合并
     <AAA>
          <BBB/>
          <CCC/>
     </AAA>

 實例 11
descendant (后代)軸包含上下文節點的后代,一個后代是指子節點或者子節點的子節點等等, 因此descendant軸不會包含屬性和命名空間節點.

/descendant::*
選擇文檔根元素的所有后代.即所有的元素被選擇
     <AAA>
          <BBB>
               <DDD>
                    <CCC>
                         <DDD/>
                         <EEE/>
                    </CCC>
               </DDD>
          </BBB>
          <CCC>
               <DDD>
                    <EEE>
                         <DDD>
                              <FFF/>
                         </DDD>
                    </EEE>
               </DDD>
          </CCC>
     </AAA>
 
/AAA/BBB/descendant::*
選擇/AAA/BBB的所有后代元素
     <AAA>
          <BBB>
               <DDD>
                    <CCC>
                         <DDD/>
                         <EEE/>
                    </CCC>
               </DDD>
          </BBB>
          <CCC>
               <DDD>
                    <EEE>
                         <DDD>
                              <FFF/>
                         </DDD>
                    </EEE>
               </DDD>
          </CCC>
     </AAA>
 
//CCC/descendant::*
選擇在祖先元素中有CCC的所有元素
     <AAA>
          <BBB>
               <DDD>
                    <CCC>
                         <DDD/>
                         <EEE/>
                    </CCC>
               </DDD>
          </BBB>
    </AAA>


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久亚洲精品一区二区| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产精品欧美一区二区三区奶水| 欧美激情欧美激情在线五月| 欧美在线精品免播放器视频| 亚洲一区二区三区sesese| 日韩精品视频三区| 日本欧美国产在线| 九色精品免费永久在线| 国产精品嫩草影院久久久| 亚洲乱码国产乱码精品精| 国产福利视频一区| 97精品国产97久久久久久免费| 欧美视频在线免费看| 欧美一级在线亚洲天堂| 国产成人啪精品视频免费网| 国产精品中文在线| 国产午夜精品久久久| 欧美多人乱p欧美4p久久| 国产精品日韩在线一区| 日韩av在线高清| 午夜精品福利电影| 91精品国产综合久久男男| 国产精品免费久久久久久| 69视频在线免费观看| 欧美一级电影久久| 国产视频久久久| 欧美伊久线香蕉线新在线| 欧美尤物巨大精品爽| 欧美做受高潮1| 国产有码在线一区二区视频| 国产精品久久久久久久天堂| 成人性生交xxxxx网站| 中文字幕亚洲一区| 伊人伊人伊人久久| 精品久久久999| 国产精品黄页免费高清在线观看| 在线亚洲午夜片av大片| 亚洲福利在线看| 热99久久精品| 精品国内自产拍在线观看| 欧美性猛交xxxx久久久| 欧美乱大交做爰xxxⅹ性3| 性色av一区二区三区免费| 91天堂在线观看| 亚洲欧美一区二区三区四区| 亚洲国产天堂久久国产91| 午夜伦理精品一区| 一区二区福利视频| 91久久精品美女高潮| 日韩激情片免费| 亚洲午夜小视频| 国产亚洲欧美aaaa| 亚洲视频在线免费看| 久久天天躁狠狠躁夜夜躁2014| 国产精品igao视频| 国产成人综合精品在线| 国产一区二区三区在线观看视频| 日韩精品免费看| 亚洲日韩中文字幕在线播放| 久久久精品2019中文字幕神马| 在线视频欧美日韩精品| 欧美精品xxx| 91黄色8090| 国产欧美精品va在线观看| 亚洲一区二区三区在线免费观看| 日韩女优在线播放| 国产精品香蕉在线观看| 久久久免费高清电视剧观看| 国产精品一区二区三区成人| 91色精品视频在线| 欧美激情国产日韩精品一区18| 一区二区日韩精品| 欧美一级淫片aaaaaaa视频| 欧美亚洲在线观看| 97在线视频精品| 精品国产一区二区三区久久久| 国产精品91久久久| www.亚洲一二| 欧美精品videofree1080p| 久久久精品视频成人| 国产精品视频色| 97热在线精品视频在线观看| 亚洲精品视频免费在线观看| 黄色一区二区在线观看| 98精品国产高清在线xxxx天堂| 国产精品久久久久久亚洲影视| 最好看的2019年中文视频| 日韩电影在线观看永久视频免费网站| 97视频国产在线| 国产91在线播放九色快色| 久久久www成人免费精品张筱雨| 91国产精品91| 欧美在线视频免费| 中文字幕亚洲欧美日韩高清| 欧美在线一区二区视频| 国产精品视频播放| 久久成人免费视频| 欧美大成色www永久网站婷| 亚洲aaaaaa| 国产91久久婷婷一区二区| 欧美大片网站在线观看| 亚洲老头老太hd| 久久久爽爽爽美女图片| 精品亚洲夜色av98在线观看| 亚洲无亚洲人成网站77777| 成人网欧美在线视频| 久久成人亚洲精品| 日韩欧美成人网| 欧美疯狂xxxx大交乱88av| 亚洲电影在线观看| 久久精品影视伊人网| 日韩av在线免费观看一区| 欧美黑人极品猛少妇色xxxxx| 国产玖玖精品视频| 国产成人综合精品| 日韩av在线影视| 亚洲国产天堂久久综合网| 国产男女猛烈无遮挡91| 欧美中文字幕在线视频| 国产精品一区二区久久精品| 国产成+人+综合+亚洲欧洲| 国产免费一区视频观看免费| 欧美亚洲另类激情另类| 欧美成人黑人xx视频免费观看| 日本aⅴ大伊香蕉精品视频| 亚洲午夜激情免费视频| 日本电影亚洲天堂| 精品无人区太爽高潮在线播放| 97精品视频在线播放| 日韩精品中文字幕有码专区| 日韩中文有码在线视频| 日本精品视频在线播放| 超碰精品一区二区三区乱码| 国产一区二中文字幕在线看| 日韩中文字幕精品| 成人在线免费观看视视频| 欧美精品一区在线播放| 亚洲激情视频网站| 欧美激情亚洲另类| 97久久精品人人澡人人爽缅北| 久久免费视频在线观看| 久久精品欧美视频| 亚洲人a成www在线影院| 日本久久精品视频| 亚洲天堂免费在线| 欧美性生活大片免费观看网址| 欧美精品久久久久a| 中文字幕国产精品| 国产成人高清激情视频在线观看| 中文字幕9999| 亚洲国产美女精品久久久久∴| 在线成人激情视频| 久久精品国产v日韩v亚洲| 久久久久久久久久国产| 色老头一区二区三区| 久久99热精品这里久久精品| 亚洲精品国产精品自产a区红杏吧| 91精品国产91久久久久久不卡| 亚洲欧美精品在线| 日韩中文视频免费在线观看| 中文字幕欧美视频在线| 亚洲人成网站777色婷婷| 久久在线观看视频|