php中文网

如何使用 XPath 技巧过滤子标签获取标签文本?

php中文网

过滤子标签获取标签文本:xpath 技巧

在使用 xpath 时,如果目标标签包含嵌套子标签,而您只想获取特定子标签的文本,忽略其他子标签,这是一个常见的问题。

问题展示

例如,如果您需要获取以下 html 内容中

标签的文本,但要过滤掉 标签:

<div>
<p>
<a>123</a>
这是要获取的文本
</p>
</div>

使用以下 xpath 表达式似乎无法达到目的:

  • //p/*[@name != "a"]
  • //p/[@name != "a"]

解决方案

为了解决此问题,可以使用以下xpath 表达式:

li.xpath('p')[0].xpath('string(.)')

具体步骤如下:

  1. 使用 .xpath('p') 从 li 上下文中定位所有

    标签。

  2. 使用 [0] 索引来获取第一个

    标签。

  3. 使用 .xpath('string(.)') 从

    标签中提取文本内容。

这样,您可以过滤掉嵌套的子标签,只获取目标标签的文本。

以上就是如何使用 XPath 技巧过滤子标签获取标签文本?的详细内容,更多请关注php中文网其它相关文章!