DZone Snippets is a public source code repository. Easily build up your personal collection of code snippets, categorize them with tags / keywords, and share them with the world
Ruby CSV To XML Converter
This code will take an input CSV file and output XML. IT was easy to write, but I haven't found anything out there to do this. The first line of the CSV file should contain the element names.
#!/usr/bin/ruby
require 'csv'
print "CSV file to read: "
input_file = gets.chomp
print "File to write XML to: "
output_file = gets.chomp
print "What to call each record: "
record_name = gets.chomp
csv = CSV::parse(File.open(input_file) {|f| f.read} )
fields = csv.shift
puts "Writing XML..."
File.open(output_file, 'w') do |f|
f.puts '<?xml version="1.0"?>'
f.puts '<records>'
csv.each do |record|
f.puts " <#{record_name}>"
for i in 0..(fields.length - 1)
f.puts " <#{fields[i]}>#{record[i]}</#{fields[i]}>"
end
f.puts " </#{record_name}>"
end
f.puts '</records>'
end # End file block - close file
puts "Contents of #{input_file} written as XML to #{output_file}."






Comments
Snippets Manager replied on Fri, 2008/07/25 - 7:17am
Snippets Manager replied on Sat, 2008/04/26 - 1:21pm
Snippets Manager replied on Tue, 2008/04/15 - 1:38pm