Xml ReplaceChild vs AppendChild

Xml ReplaceChild vs AppendChild,xml,powershell,Xml,Powershell,我正在尝试使用一组不同的XML文件构建一个大型XML数据结构,在不同的情况下,我需要附加和替换节点。我的理解是ReplaceChild方法与AppendChild方法类似,但它会覆盖所讨论的节点。因此,考虑到这对附加 $parentNode.AppendChild($result.xml.ImportNode($temp.xml.SelectSingleNode("//Product[@id='$($node.ID)']/$($firmNode.Name)"), $true)) > $nu

我正在尝试使用一组不同的XML文件构建一个大型XML数据结构,在不同的情况下,我需要附加和替换节点。我的理解是ReplaceChild方法与AppendChild方法类似,但它会覆盖所讨论的节点。因此,考虑到这对附加

$parentNode.AppendChild($result.xml.ImportNode($temp.xml.SelectSingleNode("//Product[@id='$($node.ID)']/$($firmNode.Name)"), $true)) > $null
我试着用这个来代替

$parentNode.ReplaceChild($result.xml.ImportNode($temp.xml.SelectSingleNode("//Product[@id='$($node.ID)']/$($firmNode.Name)"), $true)) > $null

我得到了“找不到过载”的替代品“。我被迫使用PS2.0,所以我认为没有替代品可用?我可以删除child,然后追加child,没有问题,但如果可以只替换首选的节点。

您需要将两个节点参数传递给
ReplaceChild
,请参阅

公共虚拟XmlNode ReplaceChild(XmlNode newChild,XmlNode (老童)


第一个参数是新的子对象,第二个参数是要替换的现有子对象。调用的方法是父节点。

需要将两个节点参数传递给
ReplaceChild
,请参阅

公共虚拟XmlNode ReplaceChild(XmlNode newChild,XmlNode (老童)


第一个参数是新的子对象,第二个参数是要替换的现有子对象。您在上调用的
ReplaceChild
方法是父节点。

Ah,这很有意义。你必须用对象交换对象。啊,这很有道理。您必须将对象交换为对象。