我最近收到了很多 xml 文件,我想在 excel 中进行分析。我不想在(较新版本的)excel 中使用 xml 转换标准,而是想使用 Ruby 代码自动处理多个文件。
但是,我对 rexml 不是很熟悉。经过半天的工作,我得到了只转换一个(!)xml节点的代码。这是它的外观:
require 'rexml/document'
Dir.glob("FILES/archive/*.xml") do |eksemel|
puts "converting #{eksemel}"
filename = (/\d+/.match(eksemel)).to_s
xml_file = File.open("#{eksemel}", "r")
csv_file = File.new("#{filename}.csv", "w")
xml = REXML::Document.new( xml_file )
counter = 0
xml.elements.each("RESULTS") do |e|
e.elements.each("component") do |f|
f.elements.each("paragraph") do |g|
counter = counter + 1
csv_file.puts g.text
end
end
end
end
有没有办法a)而不是定义元素的名称和数字让ruby自动完成并且b)将所有这些作为单独的列保存在csv文件中?