2010-06-14 24 views
11

Tengo problemas para agregar un XmlElement a un elemento no raíz en PowerShell.PowerShell: cómo agregar XmlElement a un elemento no raíz

Básicamente, dada esta xml:

<clubs> 
     <club name="boca" position="1"> 
       <field>bombonera</field> 
       <field>bombonerita</field> 
     </club> 
     <club name="racing" position="19"> 
       <field>cilindro</field> 
     </club> 
</clubs> 

que quiero lograr este

<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> 

creo un elemento,

$new = $clubs.CreateElement("barracas") 

Cuando intento agregar este elemento a una nodo no raíz, es decir,

$clubs.clubs.club += $new 

me sale

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

¿Qué me falta?

Respuesta

23

Pruebe utilizar el método AppendChild en el elemento apropiado. Hay alternativas a AppendChild como se describe en Create New Nodes in the DOM que le permiten un mayor control de la ubicación en el árbol DOM.

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