Skip to content

Instantly share code, notes, and snippets.

@tonyblaze27
Forked from ablwr/xml_to_csv.rb
Created April 15, 2019 14:07
Show Gist options
  • Save tonyblaze27/c3050cf150b4eb6ea19800c96d4729a2 to your computer and use it in GitHub Desktop.
Save tonyblaze27/c3050cf150b4eb6ea19800c96d4729a2 to your computer and use it in GitHub Desktop.
require 'csv'
require 'nokogiri'
xml = File.read('hello.xml')
doc = Nokogiri::XML(xml)
all_the_things = []
doc.xpath('//file').each do |file|
title = file.xpath("./title").first.text
filename = file.xpath("./name").first.text
identifier = file.xpath("./identifier/*[contains(text(), 'My display ID')]").text
secret = file.xpath("./identifier/secret").attr('secret').text
all_the_things << [title, filename, identifier, secret]
end
CSV.open('new_file.csv', 'wb' ) do |row|
row << ['title', 'filename', 'identifier', 'secret']
all_the_things.each do |data|
row << data
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment