常用規(guī)則
-
獲取文本
表達(dá)式 描述 a/text() 獲取 a 下的文本 a//text() 獲取 a 下所有元素的文本 //a[text()='下一頁(yè)'] 獲取文本為下一頁(yè)的 a 元素 -
獲取屬性
表達(dá)式 描述 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) @* 匹配任何屬性節(jié)點(diǎn) node() 匹配任何類(lèi)型的節(jié)點(diǎn)
示例
| 路徑表達(dá)式 | 結(jié)果 |
|---|---|
| /div/li[1] (注意下標(biāo)從1開(kāi)始) | 選取屬于 div 子元素的第一個(gè)li元素 |
| /div/li[last()] | 選取屬于 div子元素的最后一個(gè) li元素 |
| /div/li[last()-1] | 選取屬于 div子元素的倒數(shù)第二個(gè) li元素 |
| /div/li[position()<3] | 選取屬于 div子元素的 最前面兩個(gè) li元素 |
| //title[@lang] | 選取所有擁有名為 lang 的屬性的title元素 |
| //title[@lang='eng'] | 選取所有 lang 屬性為 eng 的 title 元素 |
| /div/li[price>35.00] | 選取 div元素下所有 li元素,它們的 price 元素值大于 35.00 |
| /div/li[price>35.00]/title | 選取 div元素中的 li元素的所有 title 元素,且 price 元素的值大于35.00 |
| /div/* | 選取 div的所有子元素 |
| //* | 選取文檔中的所有元素 |
| //node()/meta[]/@* | 選取 html 下面任意節(jié)點(diǎn)的 meta 節(jié)點(diǎn)的所有屬性 |
| //title[@*] | 選取所有帶有屬性的 title 元素 |
| //li/title | // li/price | 選取 li元素的所有 title 和 price 元素 |
| //title | //price | 選取文檔中的所有 title 和 price 元素 |
| //div/li/title | //price | 選取屬于 div元素的 li元素的所有 title 元素,以及文檔中所有的 price 元素 |