程序开发 · 2024年11月7日

如何使用 XPath 表达式过滤子标签并提取文本内容?

如何使用 XPath 表达式过滤子标签并提取文本内容?

文章小白一枚,正在不断学习积累知识,现将学习到的知识记录一下,也是将我的所得分享给大家!而今天这篇文章《如何使用 XPath 表达式过滤子标签并提取文本内容?》带大家来了解一下##content_title##,希望对大家的知识积累有所帮助,从而弥补自己的不足,助力实战开发!

过滤子标签中的特定标签获取文本内容

问题描述:

如何使用 xpath 表达式从包含多个子标签的标签中提取文本内容,同时排除特定子标签?

尝试过的解决方法:

已尝试使用以下 xpath 表达式,但均无法解决问题:

  • xpath(‘//p/*[@name != “a”]’)
  • xpath(‘//p/<em>[@name != “a”]’)
  • xpath(‘//p/*[@name != “a”]’)

样本内容:

<div>
  <p>
    <a>123</a>
    这是要获取的文本
  </p>
</div>

目标:

需要获取 div 中 p 标签的文本内容,但需要过滤掉 a 标签。

解决方法:

问题已解决,正确的 xpath 表达式为:

li.xpath('p')[0].xpath('string(.)')

今天关于《如何使用 XPath 表达式过滤子标签并提取文本内容?》的内容介绍就到此结束,如果有什么疑问或者建议,可以在公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!