html - 不在标签内的文本的XPath?
问题描述
我有一个非常简单的查询,但我不知道如何在 XPath 中执行此操作。
<p> <em>1</em> 2 </p>
什么样的 XPath 查询可以只返回2
?问题2
不在任何标签内,因此很难访问。
<p>
我发现如果和之间没有空格,以下将起作用<em>
。p/text()
. 但是,一旦它们之间有一个空格,它就不再起作用了。
解决方案
这个 XPath,
/p/em/following-sibling::text()
将选择一个文本节点,其字符串值为2
, 带有空格。
这个 XPath,
normalize-space(/p/em/following-sibling::text())
将返回2
,没有空格。
em
在元素之前有一个空格字符会导致问题的原因是(a和 a )/p/text()
有两个子text()
节点。p
2
推荐阅读
- html - 在 xslt 中解析包含 xml 字符串的变量
- css - 在 Squarespace 网站上使用 CSS 增加网站/页面宽度
- owl - 制作OWL本体的同名子类
- html - 为什么全高清笔记本电脑的容器宽度更小?
- go - 使用 var 声明来模拟结果的测试函数调用
- javascript - 反应本机功能自动提交到firebase?
- ansible - 如何将主机与ansible中的变量配对
- javascript - 如何使 HTML 中的标签属性 ID 唯一而不在您的 Jquery 上覆盖它?
- javascript - 用于 node.js 的 selenium 浏览器驱动程序(Chrome、Firefox、IE、Edge 等)是编译的操作系统架构还是实际的 PC 处理器架构或已安装的操作系统架构?
- java - Spring Boot 应用程序中的 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException