过滤子标签获取标签文本:xpath 技巧
在使用 xpath 时,如果目标标签包含嵌套子标签,而您只想获取特定子标签的文本,忽略其他子标签,这是一个常见的问题。
问题展示
例如,如果您需要获取以下 html 内容中
标签的文本,但要过滤掉 标签:
<div> <p> <a>123</a> 这是要获取的文本 </p> </div>
使用以下 xpath 表达式似乎无法达到目的:
- //p/*[@name != "a"]
- //p/[@name != "a"]
解决方案
为了解决此问题,可以使用以下xpath 表达式:
li.xpath('p')[0].xpath('string(.)')
具体步骤如下:
- 使用 .xpath('p') 从 li 上下文中定位所有
标签。
- 使用 [0] 索引来获取第一个
标签。
- 使用 .xpath('string(.)') 从
标签中提取文本内容。
这样,您可以过滤掉嵌套的子标签,只获取目标标签的文本。
以上就是如何使用 XPath 技巧过滤子标签获取标签文本?的详细内容,更多请关注php中文网其它相关文章!
版权声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系 yyfuon@163.com