2014-09-22 67 views
0

我想寫一個db/seeds.rb文件,它使用xml文件作爲源數據。如何將Nokogiri xml輸出寫入rails數據庫?

的XML看起來是這樣的:

<?xml version="1.0"?> 
<Collies xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="https://api.syntra-limburg.be"> 
    <Colli> 
    <colliid>7b524488-c847-4271-a5ee-ca53c0aeb0cd</colliid> 
    <collinaam>Summer School: Taalbad Professioneel Nederlands</collinaam> 
    <aantalsessies>0</aantalsessies> 
    <aantaluren /> 
    </Colli> 
    <Colli> 
    <colliid>89ecb4b5-3393-4109-9ea2-b1b1f3126128</colliid> 
    <collinaam>Summer School: BA4- BA5 gewaarschuwd en vakbekwaam persoon</collinaam> 
    <aantalsessies>0</aantalsessies> 
    <aantaluren /> 
    </Colli> 
</Collies> 

我的代碼seeds.rb文件看起來像這樣:

... 
doc = Nokogiri::XML(f) 

Colli.delete_all 

doc.css("Colli").each do |colli| 
    Colli.create!(name: colli["colllinaam"], session: colli["aantalsessies"]) 
end 

f.close 

在我的數據庫全部的名稱和會話領域中他們有「無」。我嘗試做colli.css(「collinaam」),但似乎也沒有工作。

我該如何解決這個問題?有人能指出我正確的方向嗎?

回答

0

我自己修復了。

我在Collinaam有一個「L」太多。不需要支架的東西只是基本的nokogiri。

doc.css("Colli").each do |item| 
    Colli.create!(
       name: item.css("collinaam").text, 
       teaser: item.css("teaser").text) 
end