代码之家  ›  专栏  ›  技术社区  ›  Ariel

PowerShell:如何将xmlement添加到非根元素

  •  11
  • Ariel  · 技术社区  · 14 年前

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

    我错过了什么?

    1 回复  |  直到 11 年前
        1
  •  24
  •   Martin Hollingsworth    14 年前

    尝试使用 附属物 方法。如中所述,有其他方法可以替代AppendChild Create New Nodes in the DOM 这样可以更好地控制DOM树中的位置。

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