I keep getting the following exception in my PowerShell script:
Method invocation failed because [System.Xml.XmlElement] does not contain a method named CreateElement'.
But as far as I know I am using System.Xml.XmlDocument?
https://msdn.microsoft.com/en-us/library/fw1ys7w6(v=vs.110).aspx
What am I doing wrong?
$file = "file.xml"
$xmlDoc = [System.Xml.XmlDocument](Get-Content $file)
if ($xmlDoc) {
$xmlDoc.layout.nodes.SetAttribute("environment", "develop"); #this works
$newNode = $xmlDoc.layout.nodes.CreateElement("Node")
$newNode.SetAttribute("name", "Hello world")
$xmlDoc.AppendChild($newNode)
$xmlDoc.Save($systemConfigFile)
}
The XML file is before I launch this script:
<layout>
<nodes enviroment="[uknown]">
</nodes>
</layout>
I expect the outcome te become:
<layout>
<nodes enviroment="develop">
<node name="Hello world" />
</nodes>
</layout>