我正在尝试在nokogiri中的两个元素之间获取文本,并将数据与前面元素中的文本配对。
html =
"<website>
<maindeck>
1<card>Blood Crypt</card>
2<card>Temple Garden</card>
</maindeck>
<maindeck>
3<card>Angel of Serenity</card>
4<card>Forest</card>
</maindeck>
</website>"
我想最终得到像这样的数组
#=> [[1,"Blood Crypt"],[2,"Temple Garden"]]
之前的一个例子提供了这个答案,但我不确定它的作用/使用方法。
/*/div[1]/following-sibling::text()[1]
答案 0 :(得分:2)
这有效:
doc = Nokogiri::HTML(html)
doc.xpath('//maindeck[1]/text()').map { |n| [n.text.to_i, n.next.text] }
#=> [[1, "Blood Crypt"], [2, "Temple Garden"]]