当前位置: 首页 > news >正文

做一个租房卖房的网站怎么做/网络营销外包收费

做一个租房卖房的网站怎么做,网络营销外包收费,wordpress 优惠插件,北京网站建设 案例xpath匹配子节点 我们通过/或//即可查找元素的子节点或子孙节点。假如现在想选择li节点的所有直接子节点,可以这样实现:这里通过追加/a即选择了所有li节点的所有直接子节点。因为//li用于选中所有li节点,/a用于选中li节点的所有直接子节点a。…

xpath匹配子节点

我们通过/或//即可查找元素的子节点或子孙节点。假如现在想选择li节点的所有直接子节点,可以这样实现:

u=3537957642,165128323&fm=173&app=49&f=JPEG?w=640&h=319&s=A8D281443BA08F6804D4B1060000E0C1

这里通过追加/a即选择了所有li节点的所有直接子节点。因为//li用于选中所有li节点,/a用于选中li节点的所有直接子节点a。二者组合在一起即获取所有li节点的所有直接a子节点。

运行结果如下:

u=4086018629,2673281105&fm=173&app=49&f=JPEG?w=640&h=80

此处的/用于选取直接子节点,如果要获取所有子孙节点,就可以使用//。例如,要获取ul节点下的所有子孙a节点,可以这样实现:

u=2877392990,2383674151&fm=173&app=49&f=JPEG?w=640&h=294&s=A8C281447BA08F68065DF1060000E0C3

运行结果是一样的:

u=4086018629,2673281105&fm=173&app=49&f=JPEG?w=640&h=80

但是如果这里用//ul/a,就无法获取任何结果了。因为/用于直接获取子节点,而在ul节点下没有直接的a节点,只有li节点,所以无法获取任何匹配的结果,代码如下:

u=4241719453,2346179575&fm=173&app=49&f=JPEG?w=640&h=282&s=A8C2A1447AE08F68465D65070000E0C3

运行结果如下:

u=2653036000,1916746140&fm=173&app=49&f=JPEG?w=640&h=184&s=2BC213664AA08F740ED1BD070000E0C1

因此,这里我们需要注意的是/和//的区别,其中/用于获取直接子节点,//用于获取子孙节点。

xpath匹配父节点

我们知道通过连续的/或//可以查找子节点或子孙节点,那么假如我们知道了子节点,怎样来查找父节点呢?这里可以两个.符号来实现。

比如,现在首先选中href属性为link4.html的a节点,然后再获取其父节点,然后再获取其class属性,相关代码如下:

u=45305942,623093366&fm=173&app=49&f=JPEG?w=640&h=257&s=A8D28144CFE08F6044DC71060000E0C0

运行结果如下:

u=2282802137,543817443&fm=173&app=49&f=JPEG?w=640&h=224&s=2BC213661EA48F700ED1BD060000E0C1

检查一下结果发现,这正是我们获取的目标li节点的class。

同时,我们也可以通过parent::来获取父节点,代码如下:

u=482942605,757123626&fm=173&app=49&f=JPEG?w=640&h=258&s=A8C2A1444BE0AB6046FC61060000E0C1

得到的结果也是一样的:

u=352363830,374524757&fm=173&app=49&f=JPEG?w=640&h=213&s=2BC213669FA49B704E79FC030000E0C1

xpath属性匹配

在选取的时候,我们还可以用@符号进行属性过滤。比如,这里如果要选取class为item-0的li节点,可以这样实现:

u=3423927688,3280449824&fm=173&app=49&f=JPEG?w=640&h=278&s=A8C281441BA08F68565D75060000E0C1

这里我们通过假如[@class="item-0"],限制了节点的class属性为item-0,而HTML文本中符合条件的li节点有两个,所以结果应该返回两个匹配到的元素。结果如下:

u=3645754884,2399078356&fm=173&app=49&f=JPEG?w=640&h=160&s=2BC21366CFE4BF700C59FD070000E0C1

xpath文本获取

我们利用Xpath中的text( )方法获取节点中的文本,接下来尝试获取前面li节点中的文本,相关代码如下:

u=1532461113,1837240700&fm=173&app=49&f=JPEG?w=640&h=213&s=A8C2814C9FE49D70467D51070000E0C1

运行结果如下:

u=1645527695,619539318&fm=173&app=49&f=JPEG?w=640&h=145&s=2BC21366CEAAEF745C753C0B0000E0C1

奇怪的是我们没有获取到任何文本,只获取到了一个换行符,这是为什么呢?因为Xpath中text( )前面是/,而此处/的含义是选取直接子节点,很明显li的直接子节点都是a节点,文本都是在a节点内部的,所以这里匹配到的结果就是被修正的li节点内部的换行符,因为自动修正的li节点的尾标签换行了。

即选中的是这两个节点:

u=1498307808,2782183336&fm=173&app=49&f=JPEG?w=640&h=225&s=A0D237C11BE089621E7CC4330300E0C3

其中一个节点因为自动修正,li节点的尾标签添加的时候换行了,所以提取文本得到的唯一结果就是li节点的尾标签和a节点的尾标签之间的换行符。

因此,如果想获取li节点内部的文本,就有两种方式,一种是先选取a节点再获取文本,另一种就是使用//。接下来,我们来看一下二者的区别。

首先,选取到a节点再获取文本,代码如下:

u=3430787210,1802130254&fm=173&app=49&f=JPEG?w=640&h=298&s=A8C281442FE08F6004DC31060000E0C1

可以看到,这里的返回值是两个,内容都是属性为item-0的li节点的文本,这也印证了前面属性匹配的结果是正确的。

这里我们是逐层选取的,先选取了li节点,又利用/选取了其直接子节点a。然后再选取其文本得到的结果,刚好是符合我们预期的两个结果。

再来看下用另外一种方式(即使用//)选取的结果,代码如下:

u=1366692007,2148434330&fm=173&app=49&f=JPEG?w=640&h=260&s=E8C2A144EBE08D6046F535060000E0C1

运行结果如下:

u=1948207633,2622465884&fm=173&app=49&f=JPEG?w=640&h=203&s=6BC213668FE48D724E7D7C030000E0C1

这里返回的结果是3个,可以知道,这里是选取所有子孙节点的文本,其中前两个就是li的子节点a节点内部的文本,另外一个就是最后一个li节点内部的文本,即换行符。

所以说,如果要想获取子孙节点内部的所有文本,可以直接使用//加text( )的方式,这样可以保证获取到最全面的文本信息,但是可能会夹杂一些换行符等特殊字符。如果想获取某些特定子孙节点下的所有文本,可以先选取到特定的子孙节点,然后再调用text( )方法获取其内部文本,这样可以保证获取的结果是整洁的。

http://www.jmfq.cn/news/4957903.html

相关文章:

  • 企业网站设计与规划论文/推广关键词
  • 洛阳做网站公司电话/深圳网络营销策划公司
  • 范例网站怎么做/友链交易
  • 石家庄专业做网站/汽车软文广告
  • 做外贸必须用的社交网站/国外b站不收费免费2023
  • 微信公众号怎么做网站链接/宁波关键词排名优化
  • 酒泉网站建设价格/seo研究学院
  • 呼和浩特网站优化/百度竞价代运营外包
  • 没有做icp备案的网站/深圳网络推广培训学校
  • 中国品牌网官网入口/外贸seo网站建设
  • 创建公司网站 教程/手机百度账号登录个人中心
  • 公司主页和公司网站/百度推广代理商利润
  • 网站地图对seo的影响/重庆seo顾问服务
  • 怎么做二维码链接网页/关键词优化怎么弄
  • 建设牌安全带厂家网站/seo在中国
  • 西安曲江文化园区建设开发有限公司网站/杭州网站免费制作
  • 企业所得税法实施条例/关键词seo排名优化
  • wordpress演示站功能/搜狗输入法下载安装
  • 国内做视频的网站有哪些/网站seo在线诊断分析
  • 素材分享网站源码/网站外链推广平台
  • 网站服务器上线后要怎么做/推广排名seo
  • 长沙住建信息中心网站/关键词seo排名优化
  • 门户网站建设构架/国内新闻今日头条
  • 商城网站前期seo应该怎么做/湖南有实力seo优化哪家好
  • 长沙景点门票价格表/网站搜索引擎优化的步骤
  • 西安哪里做网站最大/曲靖seo
  • 深圳自助网站建设费用/青岛新闻最新今日头条
  • 什么网站做前端练手好/重庆白云seo整站优化
  • 郑州网站建设工作/网络营销事件
  • 温州网站搭建公司/绍兴seo公司