您的位置:首頁技術文章
文章詳情頁

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

瀏覽:57日期:2023-10-15 14:19:56

問題描述

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

問題解答

回答1:

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

標簽: HTML
相關文章:
国产综合久久一区二区三区