xml
  • powershell
  • 2017-02-18 75 views 0 likes 
    0

    我想用一堆不同的XML文件構建一個大型的XML數據結構,我需要在不同情況下追加和替換節點。我的理解是ReplaceChild方法就像AppendChild方法,但它會覆蓋有問題的節點。因此,考慮到這個工程追加ReplaceChild vs 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 
    

    而且我得到的replaceChild「爲無法找到過載‘’我是被迫使用PS2.0,所以我想那裏只是沒有可用的replaceChild?我可沒有問題removeChild之,然後使用appendChild,但如果有可能只是替換將是首選的節點。

    回答

    1

    你需要兩個節點的參數傳遞給ReplaceChild,看https://msdn.microsoft.com/en-us/library/system.xml.xmlnode.replacechild(v=vs.110).aspx

    公共虛擬的XmlNode的replaceChild(newChild對象XmlNode的,XmlNode的 oldChild所)

    所以第一個參數是新的孩子,第二個參數是要替換現有的孩子。您調用ReplaceChild的方法是父節點。

    +0

    啊,這很有道理。你必須交換對象的對象。 – Gordon

    相關問題