5

nokogiri の 2 つの要素の間のテキストを取得し、その前の要素のテキストとデータをペアにしようとしています。

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]

元のリンク: nokogiri の 2 つの要素間のテキストを取得しますか?

4

1 に答える 1

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"]]
于 2012-11-04T11:59:35.853 に答える