I would like to insert a xml node at the top of other existing child nodes.
The problem with my code is it appends to the bottom.
I tried InsertBefore() but I keep getting errors
Ex:
<Providers>
<----I want to insert a provider here
<provider>
<id>87585857587</id>
<type>AD</type>
<name>Demo1</name>
<event>saga</event>
<username></username>
<item>NEV</item>
<password></password>
</provider>
</Providers>
My code:
$varGorup = @{"type"="AD";"name"="DEMO";"event"="DNS";"username"="user1";"item"="store";"password"="password1";}
$file = [XML](Get-Content $xmlFile)
$providerNode = $file.providers.AppendChild($file.CreateElement("provider"))
$varGorup | % getEnumerator | % {
$childNode = $providerNode.AppendChild($file.CreateElement($_.key))
$childNode.AppendChild($file.CreateTextNode($_.value)) | Out-Null
}
$file.save($xmlFile)
I tried:
$file = [XML](Get-Content $xmlFile)
$providers = $file.SelectSingleNode('/providers')
$provider = $file.CreateElement("provider")
$file.InsertBefore($provider,$providers)
but get this error
Exception calling "InsertBefore" with "2" argument(s): "This document already has a 'DocumentElement' node."