next if row.nil?
for i in 0...row.length
next if row[i].nil?
f.puts " <#{fields[i]}>#{row[i]}</#{fields[i]}>"
end
this is part of a small script that parses a CSV document and then
creates an XML output file.
However, I would like to add support for nesting elements in the output,
so that if the current column/value is surname or forename I can write
my output in a nested fashion:
Brown
Bobby
The problem I’m having is with the identification of the current element
as either SURNAME or FORENAME
I’ve tried using:
if #{fields[i]} == “<ORGANISATION_PERSON_SURNAME>”
Thanks, although after looking at the FasterCSV docs. I’m thinking of
working with an array or arrays instead of a Hash.
I’ve attached what I’m now using. I’m finding however that, due to the
condition execution, my current code spits out all the other attributes
before the two conditions:
for i in 1…rows.length
next if rows[i].nil?
if not rows[surname] or rows[forename]
puts rows[i]#“Current attribute: #{rows[i]}”
end
if rows[surname]
puts “<ORGANISATIONAL_PERSON>” #puts “row #{i}”
puts " "
puts " #{rows[i][surname]}"
puts " "
end
if rows[forename] #puts “row #{i}”
puts " "
puts " #{rows[i][forename]}"
puts " "
end
end
The problem being that an if, elsif else construction doesn’t seem to
work…