欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

XPath的示例分析

這篇文章將為大家詳細(xì)講解有關(guān)XPath的示例分析,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

濟(jì)源網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站設(shè)計等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)建站成立與2013年到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。

實例 1
基本的XPath語法類似于在一個文件系統(tǒng)中定位文件,如果路徑以斜線 / 開始, 那么該路徑就表示到一個元素的絕對路徑。
/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
如果路徑以雙斜線 // 開頭, 則表示選擇文檔中所有滿足雙斜線//之后規(guī)則的元素(無論層級關(guān)系) //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
方塊號里的表達(dá)式可以進(jìn)一步的指定元素, 其中數(shù)字表示元素在選擇集里的位置, 而last()函數(shù)則表示選擇集中的最后一個元素.

/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
屬性的值可以被用來作為選擇的準(zhǔn)則, normalize-space函數(shù)刪除了前部和尾部的空格, 并且把連續(xù)的空格串替換為一個單一的空格

//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函數(shù)去掉前后空格后)為\'bbb\'的BBB元素

     <AAA> 
          <BBB id = \"b1\"/> 
          <BBB name = \" bbb \"/> 
          <BBB name = \"bbb\"/> 
     </AAA>

實例 7
count()函數(shù)可以計數(shù)所選元素的個數(shù)

//*[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()函數(shù)返回元素的名稱, start-with()函數(shù)在該函數(shù)的第一個參數(shù)字符串是以第二個參數(shù)字符開始的情況返回true, contains()函數(shù)當(dāng)其第一個字符串參數(shù)包含有第二個字符串參數(shù)時返回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

可以合并的路徑數(shù)目沒有限制
 

   <AAA> 
          <BBB/> 
          <CCC/> 
          <DDD> 
               <CCC/> 
          </DDD> 
          <EEE/> 
     </AAA>

實例 10
child軸(axis)包含上下文節(jié)點的子元素, 作為默認(rèn)的軸,可以忽略不寫.

/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 (后代)軸包含上下文節(jié)點的后代,一個后代是指子節(jié)點或者子節(jié)點的子節(jié)點等等, 因此descendant軸不會包含屬性和命名空間節(jié)點.

/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>

關(guān)于“XPath的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

分享標(biāo)題:XPath的示例分析
文章分享:http://aaarwkj.com/article14/iippge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、外貿(mào)建站、網(wǎng)站營銷、商城網(wǎng)站、網(wǎng)站設(shè)計公司App設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)
欧美熟妇精品一区二区蜜桃| 97国产精品亚洲精品| 国产91精品网站在线| 日韩欧美亚洲一区二区三区| 亚洲,日韩,欧美久久综合| 九九视频在线观看免费观看| 日本一区两区三区不卡视频 | 亚洲新大香蕉视频在线播放| 欧美一区日韩二区在线| 蜜桃人妻av一区二区三区| 日本福利一区二区三区| 日本中文字幕乱码一区| 五月婷久久精品国产亚洲av| 午夜看片国产操黑丝91网| 欧美日韩视频在线第一页| 另类亚洲欧美专区第一页| 欧美日韩亚洲精品久久| 日本新任女教师在线播放| 91成人伦理在线观看| 精品欧美熟妇高潮喷水特黄| 视频一区二区三区拍拍| 午夜性色在线视频福利| 日韩一区二区三区中文字幕| 蜜臀av网站在线播放| 国产三级尤物在线观看| 亚洲一区二区三区免费在线看| 亚洲大片色一区在线观看| 午夜日本大胆裸体艺术| 亚洲青青草原自拍偷拍| 欧美性大片一区二区三区| 一本之道久久成人综合| 亚洲成人精品青青香蕉| 国产三级自拍视频在线观看网站| 婷婷网色偷偷亚洲男人| 女同av免费观看网站| 国产女同av一区二区三区| 日韩一区二区三精品| 国产又粗又猛又爽黄老大爷 | 欧美国产一级二级三级| 精品一区二区三区高清| 亚洲精品网站国产高清|