-4
require 'nokogiri'
require 'open-uri'
# Get a Nokogiri::HTML::Document for the page we’re interested in...
@doc = Nokogiri::XML(File.open("data.xml"))
# Search for nodes by css

ids = []
@doc.xpath('//itemid').each do |link|
    ids << link.content
end

hash = {}
i = 0
@doc.xpath('//realestate').each do |link|
    hash.store(link.to_s)
    i+=1
    #p hash
    #sleep 2
    #break if i ==1
end

 p hash

hash.store を除いて、すべて正常に動作しています。「hash_id を使用してハッシュ内にデータを保存する必要があります。ありがとうございます。

4

2 に答える 2

1

ハッシュは必要ないかもしれません。あるデータを別のデータに関連付けようとしているのではありません。代わりに、おそらくあなたはセットを探しています。試す:

require 'set'

s = Set.new

# Later
s << link.to_s

またはもっと簡単に:

require 'set'
links = Set.new( @doc.xpath('//realestate').map(&:to_s) )
于 2013-01-26T00:22:48.097 に答える
0

あなたのデータ構造が何であるかはわかりませんが、これは役に立ちます:

> array = [[1, 'value1'], [2,'value2']]
=> [[1, "value1"], [2, "value2"], [2, "othervalue"]]
> hash = array.group_by { |e| e[0] }
=> {1=>[[1, "value1"]], 2=>[[2, "value2"], [2, "othervalue"]]}
于 2013-01-25T13:27:29.170 に答える