高级参考:https://blog.csdn.net/wudaoshihun/article/details/82226122
举例:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 </head> 7 <body> 8 <div class="bookstore"> 9 <div class="book"> 10 <p class="title">张三</p> 11 <p class="price">29.9</p> 12 <p><a href="https://www.baidu.com">百度一下</a></p> 13 14 </div> 15 <div class="book1"> 16 <p class="title">李四</p> 17 <p class="price">36.9</p> 18 <p><a href="https://www.jd.com">京东</a></p> 19 20 </div> 21 <div class="book2"> 22 <p class="title1" a="a">王五</p> 23 <p class="price1">30</p> 24 <p><a href="https://www.taobao.com">淘宝</a></p> 25 </div> 26 27 </div> 28 </body> 29 </html> 30
选取节点:
/ ......从根节点选取。
----->>: /html/body/div/div/p----->>:张三
29.9
百度一下
李四
36.9
京东
王五
30
淘宝
// ......从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
----->>: //p----->>:张三
29.9
百度一下
李四
36.9
京东
王五
30
淘宝
@ ......选取属性。
----->>: /html/body/div/div/p[@class='title']----->>:张三----->>: /html/body/div[@class='bookstore']/div[@class='book']/p----->>:张三
29.9
百度一下
谓语
选取元素:
选取属于 子元素的第一个元素:/html/body/div[@class='bookstore']/div[@class='book']/p[1]--->>张三选取属于 子元素的最后一个 元素:/html/body/div[@class='bookstore']/div[@class='book']/p[last()] --->>百度一下选取属于子元素的倒数第二个元素:/html/body/div[@class='bookstore']/div[@class='book']/p[last()-2] --->> 张三选取最前面的两个属于元素的子元素的元素:/html/body/div[@class='bookstore']/div[@class='book']/p[position()<3] --->>张三29.9/html/body/div[@class='bookstore']/div[@class='book']/p[position()<2] --->>张三
属性选择:
选取所有拥有属性的 title 元素://p[@class="price"]
--->>29.936.9选取所有p>30的元素//div[p>30]
--->>李四36.9京东选取元素,且其中的 price 元素的值须大于 30:/html/body/div/div[p>30]/p[@class="price"]
--->>36.9
选取多个
选取所有 title 和 price 元素。//p[@class ="price"]|//p[@class ="title"]
--->>
29.9
36.9
张三
李四
选取 book1、book2 元素的 class 元素//div[@class = "book"]/p|//div[@class = "book1"]/p
--->>
张三
29.9
百度一下
李四
36.9
京东