Доброй ночи!
Есть некий csv файл, из него надо взять данные и записать в два столбца!
<?xml version="1.0" encoding="utf-16"?>
<SimpleGeoName xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Id>6295630</Id>
<Name>Earth</Name>
<Children>
<SimpleGeoName>
<Id>6255146</Id>
<Name>Africa</Name>
<Children>
<SimpleGeoName>
<Id>2589581</Id>
<Name>Algeria</Name>
<Children>
<SimpleGeoName>
<Id>2508226</Id>
<Name>Wilaya de Aïn Defla</Name>
<Children />
<FCode>ADM1</FCode>
<CountryCode>DZ</CountryCode>
Мой код:
require "csv"
require "nokogiri"
data = File.open('continents.xml', encoding:'utf-8') { |file| Nokogiri::XML (file) }
CSV.open("continents.csv", "w") do |csv|
# нужны 2 столбца
csv << ["Name", "FCode"]
# Записываем под столбец Name
data.xpath("//Name").each do |name|
csv << name.text.split(',', 3)
end
end
Как пропустить первый тег
<name>
, записывая данные под столбец
Name и записать данные под второй столбец
Fcode ?
Ребятa, подскажите пожалуйста!