Powershell添加XmlElement作为第一个孩子

时间:2011-06-14 20:14:09

标签: powershell

这是以下问题的变体:

PowerShell: How to add XmlElement to a non-root element

所以我将使用OP在该问题中使用的数据运行。给出以下XML片段:

<clubs>
</clubs>

<clubs />

我要做的是添加第一个元素,以便生成的XML看起来像:

<clubs>
    <club name="barracas" rating="awesome" />
</clubs>

到目前为止,我已经尝试过:Append,InsertAfter(虽然我不是100%确定它是如何工作的)

$newNode = $xml.CreateElement("club")
$newNode.SetAttribute("name", "barracas");
$newnode.SetAttribute("rating", "awesome");
$xml.clubs.Append($newnode)
$xml.clubs.InsertAfter($newNode, $xml.clubs)

1 个答案:

答案 0 :(得分:3)

$xml.clubs是此方案中的字符串,而不是XmlNode。试试这个:

$xml.FirstChild.AppendChild($newNode)

当然,如果元素位于树的下方,那么使用SelectSingleNode()方法可能会更好