如何使用 Xpath 在文本匹配期间忽略双空格
本文关键字:空格 Xpath 何使用 文本 | 更新日期: 2023-09-27 18:37:09
我有一个这样的html代码:
<div class="main">
<div class ="first">
<p>just text</p>
</div>
<div class= "second">
<p>some text</p>
</div>
<div class= "third">
<p>some text having double white-space</p>
</div>
</div>
并像这样使用 Xpath: //div/p[contains(text(),'some text')]
但不幸的是,在元素 p 内的"一些文本"的任何地方都可以是双空格。所以我需要在这次比赛中忽略它们。我知道我可以像这样使用 Xpath 表达式translate(normalize-space(//div/p), ' ', '')
但它会找到所有元素 p 并只替换双空格而不匹配"一些文本"!是否可以同时匹配"某些文本"但忽略双空格?
使用 XPath
1.0 选择一组节点时,XPath 无法更改结果中返回的节点。您只能选择已有的节点。在进行选择时,您可以使用以下命令忽略双空格:
//div/p[contains(normalize-space(), 'some text')]
这将返回您要查找的p
集,但其文本内容将保持原样。如果随后想要获取没有重复空格的文本值,可以循环访问此节点集并从值中逐个去除空格。您尚未告诉我们有关用于执行这些查询的代码的任何信息,因此很难准确告诉您如何修改代码以执行此操作。如果你能向我们展示你的代码,我可以告诉你如何让它做你需要的事情。