Я хочу использовать nokogiri для циклического просмотра html и создания объекта, соответствующего каждой строке. Я могу определить корневые пути xpath, из которых я хочу, чтобы данные заполняли переменные объекта, но я не знаю, как сгруппировать их как объект.
Мой код ниже. Я знаю, что это не работает, но я не знаю, в каком направлении двигаться, чтобы это работало.
требовать 'rubygems' требовать 'нокогири'
doc = Nokogiri :: HTML.parse (‹< - HTML_END) "LV1LV2LV3 MV1MV2MV3 NV1NV2NV3" HTML_END
class Post def initialize (v1, v2, v3) @ v1 = v1 @ v2 = v2 @ v3 = v3 конец
def v1= (v1)
@v1 =v1
end
def v2
@v2 =v2
end
def v3
@v3 =v3
end
конец
class PostList def initialize @posts = Array.new end
def append(aPost)
@posts.push(aPost)
self
end
def deleteFirst
@posts.shift
end
def deleteLast
@posts.pop
end
конец
list = PostList.new
parent = doc.css ('тело'). первый
получает контексты строки
parent.xpath ("// div / table [@ class = 'ipbtable'] / tr") .each do | a_tag |
k1 = "x" k2 = "x" k3 = "x"
a_tag.xpath ("td [1]"). каждый do | x_tag |
помещает x_tag.content
конец
list.append (Post.new (k1, k2, k3))
конец