1
我使用Ruby和Nokogiri解析XML文件,但是執行時間有一些問題。 4000線需要一分鐘 - 這太多了。我試圖找到代碼優化的一些想法。使用Nokogiri進行快速XML解析
這是代碼的示例:
input = Nokogiri::XML(File.open(file_name))
input.xpath('//Transition').each do |transition_record|
from = transition_record.xpath('@From')
to = transition_record.xpath('@To')
name = transition_record.xpath('@Name')
Transition.create do |transition|
transition.from_id = from.to_s
transition.to_id = to.to_s
transition.name = name.to_s
if transition_record.at_xpath('Condition').at_xpath('@Type')
transition.condition = transition_record.at_xpath('Condition').at_xpath('@Type').to_s
end
end
end
Transition
不是在XML地方固定的地方,並且可以在任何級別。另外,我以某種方式解析其他三個標籤。
有沒有人有任何想法,我可以改善它?
Nokogiri相當快。我會首先看你的模型/數據庫。 – pguardiario
我沒想過。真的,用postgr而不是litesql一切都好。謝謝! –
對於這類問題,提供XML的一小部分樣本也是很有幫助的。沒有它,你會要求我們推斷,或者從你的代碼中構建一個工作示例,這通常不能很好地工作。 –