搜索

首页  >  问答  >  正文

ruby - nokogiri 怎么获取一个 html 元素自身的 text 文本但不包含起子元素的 text 文本?

1

2

3

4

5

6

7

8

9

10

<code><body>

    <p id='p1'>111</p>

    <p id='p2'>222

        <p id='p3'>333

            <p id='p4'>444</p>

        </p>

        <p id='p33'>bbb</p>

    </p>

</body>

</code>

比如:
p2元素自身的text为222.但使用nokogiri获取p2的text文本时,会包含p2的各级子元素的文本,比如p3和p4的text文本也包含在内。
而我只想要p2自身的text文本,即只要222。

1

2

3

4

5

<code>require 'nokogiri'

html = Nokogiri::HTML(open 'test.html')

p2_obj = html.xpath("//*[@id='p2']")

p2_text = p2_obj.to_s #这样会获取到p2各级子元素的文本

</code>

那么怎么样才能只获取到p2自身的text文本(即只要222,不要333 444 bbb)呢?

大家讲道理大家讲道理2891 天前841

全部回复(1)我来回复

  • PHP中文网

    PHP中文网2017-04-24 09:14:35

    p2_obj.children[0].text就是p_obj自身的text文本,也就是222,不包含333 444 bbb

    回复
    0
  • 取消回复