【发布时间】:2021-08-03 20:21:29
【问题描述】:
我想在其他现有子节点的顶部插入一个 xml 节点。
我的代码的问题是它附加到了底部。
我尝试了InsertBefore(),但我不断收到错误
例如:
<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>
我的代码:
$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)
我试过了:
$file = [XML](Get-Content $xmlFile)
$providers = $file.SelectSingleNode('/providers')
$provider = $file.CreateElement("provider")
$file.InsertBefore($provider,$providers)
但得到这个错误
Exception calling "InsertBefore" with "2" argument(s): "This document already has a 'DocumentElement' node."
【问题讨论】:
标签: xml windows powershell xml-parsing