我想將XML文件中的數據導入到SQLite表中。我該怎麼辦?我真的需要一些幫助。 這是我的代碼,我不知道這些有什麼問題。(Ruby)如何將XML文件中的數據導入到SQLite表中
require 'rubygems'
require 'nokogiri'
require 'open-uri'
class AddCoursesData < ActiveRecord::Migration
def up
Course.delete_all
courses = Nokogiri::XML(File.open("courses.xml"))
courses.css('course').each do |node|
children = node.children
Course.create(
acode: node['acode'],
code: node['code'],
sgid: node['sgid'],
name: children.css('name').inner_text,
ects: children.css('ects').inner_text,
year: children.css('year').inner_text,
period: children.css('period').inner_text,
institute: children.css('institute').inner_text,
description: children.css('description').inner_text,
timetable: children.css('timetable').inner_text,
lecture_material: children.css('lecture_material').inner_text,
goals: children.css('goals').inner_text,
participant_count: children.css('participant_count').inner_text,
specialities: children.css('specialities').inner_text,
examination: children.css('examination').inner_text
)
end
end
def down
end
end
,然後我輸入
>rake db:migrate
它說
"rake aborted!
cannot load such file -- nokogiri
D:in 'migrate'
Tasks: TOP=> db:migrate"
我已經安裝了引入nokogiri。我真的不知道如何導入這些數據。那麼你能幫助我嗎?非常感謝你!!
這裏是我的RubyGems環境
D:\BitNami\rubystack\rubywork\UvAcourses>gem env
RubyGems Environment:
- RUBYGEMS VERSION: 2.0.3
- RUBY VERSION: 1.9.3 (2012-05-25 patchlevel 231) [i386-mingw32]
- INSTALLATION DIRECTORY: D:/BitNami/rubystack/ruby/lib/ruby/gems/1.9.1
- RUBY EXECUTABLE: D:/BitNami/rubystack/ruby/bin/ruby.exe
- EXECUTABLE DIRECTORY: D:/BitNami/rubystack/ruby/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-mingw32
- GEM PATHS:
- D:/BitNami/rubystack/ruby/lib/ruby/gems/1.9.1
- C:/Users/Lulu/.gem/ruby/1.9.1
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
您是否安裝了Nokogiri? –
是的。我想是這樣。 「成功安裝nokogiri-1.6.0-x86-mingw32 無法將」\ xE6「轉換爲UTF-8從ASCII-8BIT轉換爲UTF-8轉換爲GBK for CHANGELOG.ja.rdoc,跳過 無法將」\ xE6「 xC3「轉換爲UTF-8轉換爲ASCII-8BIT轉換爲UTF-8轉換爲GBK轉換爲CHANGELOG.rdoc,跳過 無法在從ASCII-8BIT轉換爲UTF-8轉換爲GBK的情況下將」\ xE2「轉換爲UTF-8 /nokogiri/xml_node_set.c,跳過 無法在從ASCII-8BIT到UTF-8的轉換中將「\ xE9」轉換爲UTF-8爲README.ja.rdoc的GBK,跳過 已安裝1個gem「 – zll19910516
一個Rails應用程序?如果是這樣,你可能需要將Nokogiri添加到你的'Gemfile'中。 – matt