《數(shù)據(jù)采集技術(shù)》課件-XPath 解析庫_第1頁
《數(shù)據(jù)采集技術(shù)》課件-XPath 解析庫_第2頁
《數(shù)據(jù)采集技術(shù)》課件-XPath 解析庫_第3頁
《數(shù)據(jù)采集技術(shù)》課件-XPath 解析庫_第4頁
《數(shù)據(jù)采集技術(shù)》課件-XPath 解析庫_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

XPath解析庫Contents知識(shí)目標(biāo)掌握XPath使用方法技能目標(biāo)提高數(shù)據(jù)采集和處理能力素養(yǎng)目標(biāo)培養(yǎng)良好的信息素養(yǎng)和道德意識(shí)XPath簡(jiǎn)介XPath(XMLPath)是一種查詢語言也稱為XML路徑語言,功能:XMLHTML樹狀結(jié)構(gòu)中尋找結(jié)點(diǎn)確定XML文檔中某部分位置。XPath簡(jiǎn)介XPath使用路徑表達(dá)式選?。篨Path(XMLPath)是一種查詢語言中的節(jié)點(diǎn)或者節(jié)點(diǎn)集XML文檔這些路徑表達(dá)式代表著從一個(gè)節(jié)點(diǎn)到另一個(gè)或者一組節(jié)點(diǎn)的順序,并以“/”字符進(jìn)行分隔。XPath簡(jiǎn)介XML文檔中的節(jié)點(diǎn)例子:示例1<?xmlversion="1.0"encoding="UTF-8"?><bookstore><book><titlelang="en">毛澤東選集</title><price>29.99</price></book><book><titlelang="en">LearningXML</title><price>39.95</price></book></bookstore>XML<bookstore>(文檔節(jié)點(diǎn))<price>29.99</price>(元素節(jié)點(diǎn))lang="en"(屬性節(jié)點(diǎn))路徑表達(dá)式:/<bookstore>/<book>/<price>XML文檔被作為節(jié)點(diǎn)樹來對(duì)待。樹的根被稱為文檔節(jié)點(diǎn)或者根節(jié)點(diǎn)。XPath簡(jiǎn)介節(jié)點(diǎn)是通過沿著路徑來選取的。下面列出了常用的路徑表達(dá)式:XPath使用路徑表達(dá)式在XML文檔中選取節(jié)點(diǎn)表達(dá)式說明nodename選取nodename節(jié)點(diǎn)的所有子節(jié)點(diǎn)/從當(dāng)前節(jié)點(diǎn)選取直接子節(jié)點(diǎn)//從當(dāng)前節(jié)點(diǎn)選取子孫節(jié)點(diǎn).選取當(dāng)前節(jié)點(diǎn)..選取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)@選取屬性父節(jié)點(diǎn)表示當(dāng)前節(jié)點(diǎn)的上一層節(jié)點(diǎn),子節(jié)點(diǎn)表示當(dāng)前節(jié)點(diǎn)的下一層節(jié)點(diǎn)。子孫節(jié)點(diǎn)表示當(dāng)前節(jié)點(diǎn)的所有下層節(jié)點(diǎn)。說明XPath簡(jiǎn)介示例2<?xmlversion="1.0"encoding="UTF-8"?><bookstore><book><titlelang="en">HarryPotter</title><price>29.99</price></book><book><titlelang="en">LearningXML</title><price>39.95</price></book></bookstore>XML路徑表達(dá)式結(jié)果bookstore選取bookstore元素的所有子節(jié)點(diǎn)。/bookstore選取根元素bookstore。注釋:假如路徑起始于正斜杠(/),則此路徑始終代表到某元素的絕對(duì)路徑!bookstore/book選取屬于bookstore的子元素的所有book元素。//book選取所有book子元素,而不管它們?cè)谖臋n中的位置。bookstore//book選擇屬于bookstore元素的后代的所有book元素,而不管它們位于bookstore之下的什么位置。//@lang選取名為lang的所有屬性。列出一些路徑表達(dá)式以及表達(dá)式的結(jié)果:謂語(Predicates)謂語用來查找某個(gè)特定的節(jié)點(diǎn)或者包含某個(gè)指定的值的節(jié)點(diǎn)。謂語被嵌在方括號(hào)中。謂語(Predicates)路徑表達(dá)式結(jié)果/bookstore/book[1]選取屬于bookstore子元素的第一個(gè)book元素。/bookstore/book[last()]選取屬于bookstore子元素的最后一個(gè)book元素。/bookstore/book[last()-1]選取屬于bookstore子元素的倒數(shù)第二個(gè)book元素。/bookstore/book[position()<3]選取最前面的兩個(gè)屬于bookstore元素的子元素的book元素。//title[@lang]選取所有擁有名為lang的屬性的title元素。//title[@lang='eng']選取所有title元素,且這些元素?fù)碛兄禐閑ng的lang屬性。/bookstore/book[price>35.00]選取bookstore元素的所有book元素,且其中的price元素的值須大于35.00。/bookstore/book[price>35.00]//title選取bookstore元素中的book元素的所有title元素,且其中的price元素的值須大于35.00。列出帶有謂語的一些路徑表達(dá)式,以及表達(dá)式的結(jié)果:選取未知節(jié)點(diǎn)XPath通配符可用來選取未知的XML元素通配符描述*匹配任何元素節(jié)點(diǎn)@*匹配任何屬性節(jié)點(diǎn)node()匹配任何類型的節(jié)點(diǎn)列出一些路徑表達(dá)式,以及這些表達(dá)式的結(jié)果:路徑表達(dá)式結(jié)果/bookstore/*選取bookstore元素的所有子元素//*選取文檔中的所有元素//title[@*]選取所有帶有屬性的title元素選取若干路徑通過在路徑表達(dá)式中使用"|"運(yùn)算符,可以選取若干個(gè)路徑。列出一些路徑表達(dá)式,以及這些表達(dá)式的結(jié)果:路徑表達(dá)式結(jié)果//book/title|//book/price選取book元素的所有title和price元素。//title|//price選取文檔中的所有title和price元素。/bookstore/book/title|//price選取屬于bookstore元素的book元素的所有title元素,以及文檔中所有的price元素。功能函數(shù)當(dāng)對(duì)象僅掌握了其部分特征,需要模糊搜索該類對(duì)象時(shí),可使用Xpath中提供的功能函數(shù)進(jìn)行模糊搜索,具體函數(shù)如表所示。功能函數(shù)

示例說明starts-with//div[starts-with(@id,”co”)]選取id值以co開頭的div節(jié)點(diǎn)contains//div[contains(@id,”co”)]選取id值包含co的div節(jié)點(diǎn)and//div[contains(@id,”co”)andcontains(@id,”en”)]選取id值包含co和en的div節(jié)點(diǎn)text()//li[contains(text(),”first”)]選取節(jié)點(diǎn)文本包含first的div節(jié)點(diǎn)XPath開發(fā)工具Python提供了一些好用的插件或工具,方便開發(fā)者定位和獲取XPath路徑,主要包含如下幾種:1.XMLQuire開源的XPath表達(dá)式編輯工具2.XPathHelper適用于Chrome瀏覽器3.XPathChecker使用于Firefox瀏覽器方便網(wǎng)頁分析的工具:實(shí)戰(zhàn)案例瀏覽器(以谷歌為例)添加XPathHelper插件使用谷歌瀏覽器,打開設(shè)置(Settings)。點(diǎn)擊擴(kuò)展(Extensions)。打開開發(fā)者模式(Developermode)。加載已解壓的擴(kuò)展程序。點(diǎn)擊地址欄右側(cè)的“”圖標(biāo),打開XPathHelper工具。12345本講小結(jié)1XPath的介紹、基本使用方法及相關(guān)函數(shù)2XPath課程案例實(shí)戰(zhàn)課后作業(yè)使用XPath表達(dá)式從給定的XML文檔中提取所有訂單號(hào)。XML文檔如下:<orders><order><orderNumber>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論