PowerShell: как добавить XmlElement в некорневой элемент - PullRequest
11 голосов
/ 15 июня 2010

У меня проблемы с добавлением 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")

Когда я пытаюсь добавить этот элемент в некорневой узел, т.е.

$clubs.clubs.club += $new

Я получаю

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

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

1 Ответ

24 голосов
/ 15 июня 2010

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

$club = $xml.CreateElement('club')
$club.SetAttribute('name','barracas')
$xml.clubs.AppendChild($club)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...