The “pure PowerShell” way actually works for me …
$CSV =
@'
name,age,type,color
Amanda,10,dog,brown
Fox,4,dog,black
Bernard,12,dog,white
Jack,3,cat,black
Naia,1,cat,brown
Chip,14,cat,silver
Stop,5,pig,brown
Kiki,2,pig,brown
Mira,1,rabbit,white
Maya,1,rabbit,black
Olga,1,rabbit,white
'@ |
ConvertFrom-Csv -Delimiter ','
$XML = ConvertTo-Xml -As Document -Depth 3 -InputObject ($CSV) -NoTypeInformation
$XML.Save("D:\sample\xml.xml")
The names of the nodes are a little different but the actual informations are there.
<?xml version="1.0" encoding="utf-8"?>
<Objects>
<Object>
<Property>
<Property Name="name">Amanda</Property>
<Property Name="age">10</Property>
<Property Name="type">dog</Property>
<Property Name="color">brown</Property>
</Property>
<Property>
<Property Name="name">Fox</Property>
<Property Name="age">4</Property>
<Property Name="type">dog</Property>
<Property Name="color">black</Property>
</Property>
<Property>
<Property Name="name">Bernard</Property>
<Property Name="age">12</Property>
<Property Name="type">dog</Property>
<Property Name="color">white</Property>
</Property>
<Property>
<Property Name="name">Jack</Property>
<Property Name="age">3</Property>
<Property Name="type">cat</Property>
<Property Name="color">black</Property>
</Property>
<Property>
<Property Name="name">Naia</Property>
<Property Name="age">1</Property>
<Property Name="type">cat</Property>
<Property Name="color">brown</Property>
</Property>
<Property>
<Property Name="name">Chip</Property>
<Property Name="age">14</Property>
<Property Name="type">cat</Property>
<Property Name="color">silver</Property>
</Property>
<Property>
<Property Name="name">Stop</Property>
<Property Name="age">5</Property>
<Property Name="type">pig</Property>
<Property Name="color">brown</Property>
</Property>
<Property>
<Property Name="name">Kiki</Property>
<Property Name="age">2</Property>
<Property Name="type">pig</Property>
<Property Name="color">brown</Property>
</Property>
<Property>
<Property Name="name">Mira</Property>
<Property Name="age">1</Property>
<Property Name="type">rabbit</Property>
<Property Name="color">white</Property>
</Property>
<Property>
<Property Name="name">Maya</Property>
<Property Name="age">1</Property>
<Property Name="type">rabbit</Property>
<Property Name="color">black</Property>
</Property>
<Property>
<Property Name="name">Olga</Property>
<Property Name="age">1</Property>
<Property Name="type">rabbit</Property>
<Property Name="color">white</Property>
</Property>
</Object>
</Objects>