如何使用Powershell将节点添加到现有XML文档

时间:2019-08-12 20:16:18

标签: xml powershell

我试图制作一个将节点添加到XML文档的脚本,但是我能找到的每个代码都不起作用。我想添加一个看起来完全像计算机节点正下方的计算机节点的节点。

XML:

<?xml version="1.0" encoding="utf-8"?>
<machines>
  <machine>
    <vmname>NAME1</vmname>
    <network>NETWORK1</network>
    <hash>HASH1</hash>
  </machine>
</machines>

1 个答案:

答案 0 :(得分:1)

您可以克隆节点(机器节点),更新其属性,然后将其附加到原始XML对象(机器节点的子节点)。

$xml = [xml]@'
<?xml version="1.0" encoding="utf-8"?>
<machines>
  <machine>
    <vmname>NAME1</vmname>
    <network>NETWORK1</network>
    <hash>HASH1</hash>
  </machine>
</machines>
'@

$newnode = $xml.machines.machine.clone()
$newnode.vmname = "NAME2"
$newnode.network = "NETWORK2"
$newnode.hash = "HASH2"

[void]$xml.machines.AppendChild($newnode)
$xml.Save("c:\NewXML.xml")