之前写过相对父元素及下一个兄弟元素的方法。
这次补充一下xpath相对节点位置查找元素的所有方法。例子就不举了,自己可以去练练。
xpath相对节点查找方法:
1、xpath('/ancestor::')
查找当前节点的所有先辈节点,即父节点或祖父节点
2、xpath('/ancestor-or-self::')
查找当前节点的所有先辈节点以及本身
3、xpath('/attribute::')
获取当前节点的所有属性
4、xpath('/child::')
查找当前节点的所有子节点
5、xpath('/descendant::')
获取当前节点的所有后代节点,即子节点、孙节点
6、xpath('/following::')
获取当前节点结束标签后的所有节点
7、xpath('/following-sibing::')
获取当前节点的下一个兄弟节点
8、xpath('/parent::')
获取当前节点的父节点
9、xpath('/preceding::')
获取当前节点开始标签前的所有节点
10、xpath('/preceding-sibing::')
获取当前节点的上一个兄弟节点
11、xpath('/self::')
选取当前节点
大概也就这么多,这些方法非常实用,特别是有些元素通过自己的属性无法查找到的时候就需要通过相对节点的位置来查找。
html = ` hello world`# 获取a标签下的文本xpath("//a/text()") # world# 获取a标签以及子标签中的内容xpath("//a//text()") # hello world# 获取a标签中的连接xpath("//a/@href")
你应该是写错了吧,你改成 //div[@class="proLis"]//span/text() 试试。单斜杆表示只取其儿子辈的节点,你的span标签都是N辈了
再说,没有必要自己写,你可以在chrome浏览器装一个ChroPath插件,点击元素,然后就会出来相应的xpath表达式。
实现方法如下:
加载到XmlDocument,查找p子节点(XPath),如果要在子节点内继续查找,用递归;
string patten_block="<div class=\"wm_sktq_l\">[\\s\\S]</div>"
string patten_p="<p>[\\s\\S]</p>" 用组获取。
以上就是关于通过xpath相对节点位置查找元素全部的内容,包括:通过xpath相对节点位置查找元素、如何用bs或者xpath获取指定标签下的某一标签的所有文本、xpath怎么提取span标签内的元素,只能用正则吗等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)