PowerShell: как добавить XmlElement в элемент без полномочий root

У меня возникли проблемы с добавлением XmlElement в элемент без полномочий root в PowerShell.

В принципе, учитывая этот 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")

Когда я пытаюсь добавить этот элемент к не-root node i.e.

$clubs.clubs.club += $new

Я получаю

Cannot set "club" because only strings can be used as values to set XmlNode properties.

Что мне не хватает?

Ответ 1

Попробуйте использовать метод AppendChild для соответствующего элемента. Существуют альтернативы AppendChild, как описано в Создать новые узлы в DOM, которые позволяют вам больше контролировать местоположение в дереве DOM.

$club = $xml.CreateElement('club')
$club.SetAttribute('name','barracas')
$xml.clubs.AppendChild($club)