0
我有一個複雜的XML文件,我想從中提取特定標記的內容。 我用XmlSimple gem使用ruby腳本。我用HTTP請求檢索XML文件,然後去掉所有不需要的標籤並提取必要的信息。這是劇本本身:用XmlSimple處理Ruby中的XML文件
data = XmlSimple.xml_in(response.body)
hash_1 = Hash[*data['results']]
def find_value(hash, value)
hash.each do |key, val|
if val[0].kind_of? Hash then
find_value(val[0], value)
else
if key.to_s.eql? value
puts val
end
end
end
end
hash_1['book'].each do |arg|
find_value(arg, "title")
puts("\n")
end
的問題是,當我改變與return val
取代puts val
,然後調用find_value法puts find_value (arg, "title")
,我得到hash_1 [圖書]在屏幕上的全部內容。
如何更正find_value方法?
是的,似乎我剛剛使用了錯誤的寶石來完成此任務。謝謝 ) – 2010-11-03 10:13:43