У меня html выглядит так:
<div in-prop in-alias="" in-type="teacher"><div in-name="Alice">Hello <i in-name="Wonderland">World</i></div></div>
Я хочу собирать имена пользовательских атрибутов на основе префикса in-
имя атрибута, у меня есть рабочий код и возвращается ["prop", "alias", "type", "name", "name"]
require 'nokogiri'
class PartB
def get_scheme(html)
get_doc(html).map { |elm|
elm.attributes.map{|k, v| k.gsub("in-", "") if !k.nil? && k.include?("in-")}
}.flatten.compact
end
def get_doc(html)
Nokogiri::HTML(html).search('*')
end
end
, но я думаю, что это избыточно, потому что я использую search('*')
, и он получит все HTML-теги.Есть ли способ сделать это?