{"id":9541,"date":"2006-10-06T20:06:00","date_gmt":"2006-10-06T20:06:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/powershell\/2006\/10\/06\/adding-elements-to-xml-objects-with-windows-powershell\/"},"modified":"2019-02-18T13:21:17","modified_gmt":"2019-02-18T20:21:17","slug":"adding-elements-to-xml-objects-with-windows-powershell","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/powershell\/adding-elements-to-xml-objects-with-windows-powershell\/","title":{"rendered":"Adding elements to XML objects with Windows PowerShell"},"content":{"rendered":"<p><font face=\"Calibri\"><font size=\"3\"><\/p>\n<p class=\"MsoNormal\">While it\u2019s very easy to load and view the content of XML documents how do you add new elements? Here\u2019s how:<\/p>\n<p class=\"MsoNormal\">Let\u2019s create a simple XML document, one parent node with two children:<\/p>\n<p class=\"MsoNormal\"><span>PS&gt; [xml]$x = \u201c&lt;top&gt;<\/span><\/p>\n<p class=\"MsoNormal\"><span>&lt;first&gt;first child&lt;\/first&gt;<\/span><\/p>\n<p class=\"MsoNormal\"><span>&lt;second&gt;second child&lt;\/second&gt;<\/span><\/p>\n<p class=\"MsoNormal\"><span><span>&nbsp;&nbsp;&nbsp;<\/span>&lt;\/top&gt;\u201d<\/span><span><\/span><\/p>\n<p class=\"MsoNormal\"><span>PS&gt; $x.top<\/span><\/p>\n<p class=\"MsoNormal\"><span>first<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>second<br \/>&#8212;&#8211;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&#8212;&#8212;<br \/>first child<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>second child<\/span><\/p>\n<p class=\"MsoNormal\">Add a new element below our top element with textual content:<\/p>\n<p class=\"MsoNormal\"><span>PS&gt; $e = $x.CreateElement(&#8220;third&#8221;)<br \/>PS&gt; $e.set_InnerText(&#8220;third child&#8221;)<\/span><\/p>\n<p class=\"MsoNormal\"><span>(Windows PowerShell wraps .Net object properties with method calls. The method set_InnerText actually refers to the .Net property InnerText, and is required because our XML adapter assumes that all properties come from your XML)<\/span><\/p>\n<p class=\"MsoNormal\"><span>PS&gt; $x.top.AppendChild($e)<\/span><\/p>\n<p class=\"MsoNormal\"><span>What does our XML look like now?<\/span><\/p>\n<p class=\"MsoNormal\"><span>PS&gt; $x.top<\/span><\/p>\n<p class=\"MsoNormal\"><span>first<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>second<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>third<br \/>&#8212;&#8211;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&#8212;&#8212;<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>&#8212;&#8211;<br \/>first child<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>second child<span>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/span>third child<\/span><\/p>\n<p class=\"MsoNormal\"><span>That\u2019s it!<\/span><\/p>\n<p class=\"MsoNormal\"><span><span>&nbsp;<\/span><\/span><\/p>\n<p class=\"MsoNormal\"><span>Nigel Sharples [MSFT]<br \/>Windows PowerShell Team<br \/><\/span><span lang=\"EN\">Microsoft Corporation<br \/>This posting is provided &#8220;AS IS&#8221; with no warranties, and confers no rights.<\/span><\/p>\n<p><\/font><\/font><\/p>\n","protected":false},"excerpt":{"rendered":"<p>While it\u2019s very easy to load and view the content of XML documents how do you add new elements? Here\u2019s how: Let\u2019s create a simple XML document, one parent node with two children: PS&gt; [xml]$x = \u201c&lt;top&gt; &lt;first&gt;first child&lt;\/first&gt; &lt;second&gt;second child&lt;\/second&gt; &nbsp;&nbsp;&nbsp;&lt;\/top&gt;\u201d PS&gt; $x.top first&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; second&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;first child&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; second child Add a new element below [&hellip;]<\/p>\n","protected":false},"author":600,"featured_media":13641,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-9541","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-powershell"],"acf":[],"blog_post_summary":"<p>While it\u2019s very easy to load and view the content of XML documents how do you add new elements? Here\u2019s how: Let\u2019s create a simple XML document, one parent node with two children: PS&gt; [xml]$x = \u201c&lt;top&gt; &lt;first&gt;first child&lt;\/first&gt; &lt;second&gt;second child&lt;\/second&gt; &nbsp;&nbsp;&nbsp;&lt;\/top&gt;\u201d PS&gt; $x.top first&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; second&#8212;&#8211;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &#8212;&#8212;first child&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; second child Add a new element below [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/9541","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/users\/600"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/comments?post=9541"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/posts\/9541\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media\/13641"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/media?parent=9541"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/categories?post=9541"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/powershell\/wp-json\/wp\/v2\/tags?post=9541"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}