Я совсем новичок в ruby и в программировании.Я пытаюсь экспортировать XML в CSV, используя Ruby и nokogiri.Мой код:
require 'csv'
require 'nokogiri'
file = File.read('example.xml')
doc = Nokogiri::XML(file)
a = []
csv = CSV.open('output.csv', 'wb')
CSV.open('output.csv', 'wb') do |csv|
csv << doc.at('Start').search('*').map(&:name)
doc.search('Start').each do |x|
csv << x.search('*').map(&:text)
end
end
XML Я хочу преобразовать:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<Start>
<Value1>2018-10-15</Value1>
<Value2>2018-11-17</Value2>
<Value3>
<ID type="Value3_ID">XXX1</ID>
</Value3>
<Value4>
<ID type="Value4_ID">XXX2</ID>
</Value4>
<Value5>
<ID type="Value5_ID">XXX3</ID>
</Value5>
<Value6.1>
<Value6.2>
<ID type="Value6.2_ID">XXX4</ID>
</Value6.2>
<Value6.3>XXX5</Value6.3>
<Value6.4>XXX6</Value6.4>
<Value6.5>
<ID type="Value6.5_ID">XXX7</ID>
</Value6.5>
<Value6.6>XXX8</Value6.6>
<Value6.7>XXX9</Value6.7>
</Value6.1>
<Value6.1>
<Value6.2>
<ID type="Value6.2_ID">XXX10</ID>
</Value6.2>
<SValue6.3>XXX11</SValue6.3>
<Value6.5>
<ID type="Value6.5_ID">XXX12</ID>
</Value6.5>
</Value6.1>
</Start>
</root>
Извините за очень простой вопрос.Самым важным для меня является то, что xml будет преобразован автоматически, потому что у меня много разных XML, поэтому я не могу перечислить все нужные мне узлы.+ было бы здорово не иметь этих пустых узлов ....
Спасибо !!