这是以下问题的变体:
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)
答案 0 :(得分:3)
$xml.clubs
是此方案中的字符串,而不是XmlNode
。试试这个:
$xml.FirstChild.AppendChild($newNode)
当然,如果元素位于树的下方,那么使用SelectSingleNode()
方法可能会更好