xpath - XPath 如何单独获取帖子
问题描述
如何分别使用 xpath 获取文本?
我尝试的代码只得到 1 的所有信息而不是单独的:
发布 xpath:div
标题 xpath: ./p/strong/child::node()
描述 xpath: ./ul/child::node()
期望:
标题1
描述1
标题2
描述2
得到:
标题1 标题2
描述 1 描述 2
HTML:
<div>
<p><strong>Title1</strong></p>
<ul>
<li>Desc1</li>
</ul>
<p><strong>Title2</strong></p>
<ul>
<li>Desc2</li>
</ul>
</div>
解决方案
不太清楚您的“所需”示例用标记为 1 和 2 的对表示什么,但如果您只是尝试选择每个标题文本,然后选择其紧随其后的 ul/li 文本,则可以使用如下表达式:
//div/p/(
./normalize-space(string()),
./(following-sibling::ul[1])/normalize-space(string()))
对于每个p
它选择 as 字符串的整个文本内容,p
然后选择紧随其后的ul
兄弟p
并选择其整个字符串内容。这可以很容易地改进为只选择p/strong
内容(而不是所有的p
)和类似的ul/li
。
推荐阅读
- java - Java FileInputStream 每次运行时都会给出随机输出
- django - 是否有替代使用通用外键来处理类似模型树的方法?
- python - 凭据有问题(google smtp)
- javascript - Google 和 W3C 说要避免使用 Meta Refresh?使用 Google Analytics 时该怎么做?
- c# - C# 创建用于链接方法的 Fluent API
- c++ - 如何在 beast::websocket 中读取错误请求的标头?
- javascript - 如何修复 Chrome 扩展中的“Chrome 内容安全策略指令”
- java - JSoup crawling how to crawl from same tag but two items
- php - RegExp 在右括号之前添加一些东西
- intellij-idea - IntelliJ/Kotlin:“^use”提示是什么意思?