加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

xml – 包含给定文本节点的元素的XPath表达式

发布时间:2020-12-16 23:15:47 所属栏目:百科 来源:网络整理
导读:我正在编写一些Perl来使用XPath来定位表格中的特定td元素 table tr td.../td tdfont color="white" face="verdana,Helvetica,Arial" size="2"Showing b1/b-b100/b of b200/b total/font/td td.../td td.../td /tr /table 我想要的是找到一个td元素,其中包含
我正在编写一些Perl来使用XPath来定位表格中的特定td元素

<table>
    <tr>
      <td>...</td>
      <td><font color="white" face="verdana,Helvetica,Arial" size="2">Showing <b>1</b>-<b>100</b> of <b>200</b> total</font></td>
      <td>...</td>
      <td>...</td>
    </tr>
  </table>

我想要的是找到一个td元素,其中包含字符串显示的字体/文本()节点.

匹配包含(.,“显示”)

直接比较工作正常:

//td[font/text()="Showing "]

但我想使用contains()XPath函数,以便匹配更灵活.

我试过了

//td[contains(font/text(),"Showing ")]

但这会引发错误

XPath failed due to: A sequence of more than one item is not allowed as the first argument of contains()

我已经成功实现了我的目标

//td[font/text()[contains(.,"Showing")]]

但这非常难看,我希望有更简洁的东西.请有人可以为我改进,或者确认这是最好,最简洁的方法吗?

解决方法

试试这个:

//td[contains(font/text()[1],'Showing ')]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读