从HTML中提取文本,排除<small>标记中的文本

时间:2015-12-25 19:19:59

标签: ruby xpath nokogiri

我想从HTML中提取文本,而不是<small>标记:

<h1>THE BIG TEXT<small>the small text</small></h1>

我可以用//h1/text()提取“THE BIG TEXT the small text”,但是如何才能提取“THE BIG TEXT”,而不是“小文本”?

我必须使用什么XPath?

1 个答案:

答案 0 :(得分:2)

以下XPath应该有效:

//h1/text()

它会在h1标记内找到直接文本,而不是子标记。 它提取了“大文本”。

演示here

但是如果你想提取h1 中的所有文字,包括子标签:

//h1//text()

它提取“大文本小文本”。

查看单斜杠和双斜杠(/)。单/表示立即,双/表示所有包括嵌套。

相关问题