ruby - nokogiri 怎么获取一个 html 元素自身的 text 文本但不包含起子元素的 text 文本?
大家讲道理
大家讲道理 2017-04-24 09:12:35
0
1
784
<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>

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

require 'nokogiri'
html = Nokogiri::HTML(open 'test.html')
p2_obj = html.xpath("//*[@id='p2']")
p2_text = p2_obj.to_s #这样会获取到p2各级子元素的文本

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

大家讲道理
大家讲道理

光阴似箭催人老,日月如移越少年。

reply all(1)
洪涛

p2_obj.children[0].text is the text of p_obj itself, which is 222, excluding 333 444 bbb

Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template