どのようにすればよいか、アドバイスをお待ちしています。xpathのみで解決策を試しています:
HTML の例:
<div>
<div>
<div>text div (leaf)</div>
<p>text paragraph (leaf)</p>
</div>
</div>
<p>text paragraph 2 (leaf)</p>
コード:
doc = Nokogiri::HTML.fragment("- the html above -")
result = doc.xpath("*[not(child::*)]")
[#<Nokogiri::XML::Element:0x3febf50f9328 name="p" children=[#<Nokogiri::XML::Text:0x3febf519b718 "text paragraph 2 (leaf)">]>]
しかし、この xpath は最後の "p" しか提供しません。私が望むのは、葉ノードのみを返すフラット化動作のようなものです。
以下は、stackoverflow の参照回答です。
ありがとう