http://www.heureka.cz/direct/xml-export/shops/heureka-sekce.xml과 같은 XML 파일이 있습니다. 그것이 내 것이 아니기 때문에 나는 그것을 바꿀 수 없다. 다른 웹 사이트에서 파싱하는 것입니다.레일 4는 표로 XML을 구문 분석
여기 (구조) XML의 : 최종 코드는 모두 여기에 코멘트에
<HEUREKA>
<CATEGORY>
<CATEGORY_ID>971</CATEGORY_ID>
<CATEGORY_NAME>Auto-moto</CATEGORY_NAME>
<CATEGORY>
<CATEGORY_ID>881</CATEGORY_ID>
<CATEGORY_NAME>Alkohol testery</CATEGORY_NAME>
<CATEGORY_FULLNAME>Heureka.cz | Auto-moto | Alkohol testery</CATEGORY_FULLNAME>
</CATEGORY>
</CATEGORY>
</HEUREKA>
감사
def heureka
require 'open-uri'
require 'nokogiri'
doc = Nokogiri::XML(open("http://www.heureka.cz/direct/xml-export/shops/heureka-sekce.xml"))
doc.xpath("//CATEGORY[CATEGORY_FULLNAME]").each do |node|
record = Heureka.where("name" => node.css('CATEGORY_NAME').inner_text).first_or_initialize
record.fullname=node.xpath('CATEGORY_FULLNAME').inner_text
record.name=node.xpath('CATEGORY_NAME').inner_text
record.save unless record.fullname.blank?
end
end
, 당신이하고 싶지 않고, 어떻게 지금 작동하고 무엇을 보여주십시오. 이 문서에는 몇 가지 수준의 범주가 있으므로 각 루프에서 확인해야합니다. – zishe
@zishe 내 코드가 모든 레벨을 통과하고 CATEGORY_FULLNAME이 있으면 DB에 저장합니다. –