6

我试图找出将从以下 HTML 片段中检索“文本数据 3”的 XPath

  <span class="inner-span">
    Text-data 1
    <br>
    <span>Text Data 2</span> text Data 3
   </span>

到目前为止,我已经尝试了以下 Xpath,它引导我进入类 'inner-span' 的跨度

 /html/body/div/div[4]/div[2]/div[2]/div/div[2]/div/span[@class="inner-span"]

但不知道要向 Xpath 添加更多内容,这只会给我上面 Html 片段中的文本“文本数据 3”。谢谢

4

2 回答 2

12

对于您的特定情况,此 XPath 查询将起作用:

normalize-space(//span[@class="inner-span"]/text()[last()])

在这个在线测试仪中尝试过,结果如下:

  1. 您的 HTML;
  2. 我的 XPath 表达式;
  3. 预期结果“文本数据 3”。

在此处输入图像描述

于 2013-04-26T16:50:57.933 回答
1

您可以选择/html/body/div/div[4]/div[2]/div[2]/div/div[2]/div/span[@class="inner-span"]/text()[last()]获取文本节点(尽管带有前导和尾随空格),也可以使用 XPath 返回带有normalize-space(/html/body/div/div[4]/div[2]/div[2]/div/div[2]/div/span[@class="inner-span"]/text()[last()]).

于 2013-04-26T16:55:49.207 回答