html - 获取文本,后跟某些文本

标签 html xml xpath

我需要获取文本,但只能在特定文本('---------------')之前获取。
例如。 HTML代码示例:

...
<p> This is correct text. Everything after it is wrong</p>
<p>---------------------</p>
<p><strong>This is wrong text</strong></p>
<p> This is wrong another text</p>
...


我正在尝试使用下一个XPath表达式解决此问题:

/p/text()[normalize-space()][not(ancestor::p[contains(.,'---')])]


但不幸的是,这无法按预期进行。

对于正确的解决方案将不胜感激。

最佳答案

此XPath将选择p的文本,该文本紧随其后的同级包含---

//p[following-sibling::p[contains(.,'---')]][1]/text()

关于html - 获取文本,后跟某些文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33744392/

相关文章:

java - 如何在 Java 中使用 Selenium 从 Tooltip 获取文本?

javascript - jQuery UI Accordion - 每个面板都适合内容

html - 输入字段接受任何字符,忽略正则表达式

javascript - Foundation 5 reveal 不会打开(用 jQuery 附加到 BODY)

css - 在浏览器窗口调整大小 div 及其内容

iphone - 如何在 iphone sdk 中以字符串形式发送 xml?

android - 更改 values.xml android 中的文件不会反射(reflect)到运行应用程序

xml - JAXB:如何编码列表中的对象?

Python Selenium xPath 从 div 类 a rel 中选择

sql - 如何在SQL中从xml节点提取数据