2010-06-14 24 views
11

पर XmlElement को जोड़ने के लिए मुझे PowerShell में एक गैर-रूट तत्व में XmlElement जोड़ने में समस्या हो रही है।पावरशेल: गैर-रूट तत्व

मूल रूप से

, इस एक्सएमएल दिया:

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

मैं क्या याद आ रही है मिल सकता है?

उत्तर

23

उचित तत्व पर AppendChild विधि का उपयोग करने का प्रयास करें। एपेंड चाइल्ड के विकल्प हैं जैसा कि Create New Nodes in the DOM में वर्णित है जो आपको डीओएम पेड़ में स्थान के अधिक नियंत्रण की अनुमति देता है।

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