我在向PowerShell中的非根元素添加XmlElement时遇到了问题。
基本上,给定xml:
<clubs>
<club name="boca" position="1">
<field>bombonera</field>
<field>bombonerita</field>
</club>
<club name="racing" position="19">
<field>cilindro</field>
</club>
</clubs>
我想实现这个
<clubs>
<club name="boca" position="1">
<field>bombonera</field>
<field>bombonerita</field>
</club>
<club name="racing" position="19">
<field>cilindro</field>
</club>
<club name="barracas" />
</clubs>
我创建了一个元素
$new = $clubs.CreateElement("barracas")
当我尝试将此元素添加到非根节点时,即
$clubs.clubs.club += $new
我得到了
Cannot set "club" because only strings can be used as values to set XmlNode properties.
我错过了什么?
答案 0 :(得分:24)
尝试在相应的元素上使用 AppendChild 方法。如Create New Nodes in the DOM中所述,还有AppendChild的替代方法,可以让您更好地控制DOM树中的位置。
$club = $xml.CreateElement('club')
$club.SetAttribute('name','barracas')
$xml.clubs.AppendChild($club)