首頁  >  問答  >  主體

ruby - nokogiri 怎麼取得一個 html 元素本身的 text 文字但不包含起子元素的 text 文字?

<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)呢?

大家讲道理大家讲道理2759 天前746

全部回覆(1)我來回復

  • PHP中文网

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

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

    回覆
    0
  • 取消回覆