XPATH获取text_1和text_2之间的所有节点

标签 xpath

我有这样的 HTML

<div>
text1
<a>link_1</a>
<a>link_2</a>
text2
<a>link_3</a>
text3
</div>

我想获取text1text2之间的所有节点。问题是没有 pspan 标记。只有纯文本,内容为 text1text2

我如何使用 XPATH 来做到这一点? 谢谢!

最佳答案

这样怎么样:

/div/*
    [
        preceding-sibling::text()[normalize-space(.) = 'text1'] 
            and 
        following-sibling::text()[normalize-space(.) = 'text2']
    ]

关于XPATH获取text_1和text_2之间的所有节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23463960/

相关文章:

php - xpath表达式的结果是 : [object Text]. 应该是一个元素

xml - 在 Hive 中解析 xml 时出错

javascript - 在 google chrome 插件 (javascript) 中通过 xpath 获取元素值

xpath - xs :string as element() in XQuery

python - 为什么 lxml 不允许在整个 ElementTree 上使用相对 XPath 表达式?

python - 使用 lxml 处理来自请求的 html。类型错误 : can't pickle _ElementUnicodeResult objects

xml - XSLT-Xpath比较属性

xpath - Apache Camel Xpath 2.0 与 Saxon 看起来无法在 RouteBuilder/Predicates 中工作

python - 从多个链接中获取数据,同时存储在 Scrapy 中的一个项目中

xpath - 如何在 HTML <br> 标记之间拆分 HTML/XML 文本?