我试图使用一堆不同的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,所以我认为没有ReplaceChild可用?我可以用RemoveChild,然后AppendChild就没有问题了,但是如果有可能的话,就可以替换首选的节点了。
发布于 2017-02-18 18:45:55
您需要将两个节点参数传递给ReplaceChild,请参阅https://msdn.microsoft.com/en-us/library/system.xml.xmlnode.replacechild(v=vs.110).aspx
公共虚拟XmlNode ReplaceChild( XmlNode newChild,XmlNode oldChild )
第一个参数是新的子参数,第二个参数是要替换的现有子参数。调用ReplaceChild的方法是父节点。
https://stackoverflow.com/questions/42317831
复制相似问题