使用Powershell在现有XML文档中创建新元素

时间:2017-12-08 10:46:03

标签: powershell

我有一个脚本,它从XML文件中读取,执行一些Web服务,从中获得响应,我现在喜欢使用Web响应修改XML文件,如下所示。

原始XML:

<ItemNum>
    <Key>11233</Key>
    <Item>123.jpg</Item>
    <Item>456.jpg</Item>
    <Item>789.jpg</Item>
    <Detail>Processed on 8-12-2017</Detail>
</ItemNum>

该脚本将处理XML中的项目并遍历项目列表,类似于以下内容:

[xml]$xml = Get-Content -Path $xmlPath

Foreach ($websResponse in $websResponseList) {
    <Create New Element>
    <Add Webs Response to Element>
}

$xml.save($xmlPath)

结果应该是修改后的原始XML,如下所示:

<ItemNum>
    <Key>11233</Key>
    <Item>123.jpg</Item>
    <Item>456.jpg</Item>
    <Item>789.jpg</Item>
    <Detail>Processed on 8-12-2017</Detail>
    <WebS>00001</WebS>
    <WebS>00002</WebS>
    <WebS>00003</WebS>
</ItemNum>

我已经阅读了无数篇关于在Powershell中使用XML的文章,可能还有一些与我想要实现的非常类似的文章,但这是因为某种原因让我感到难过,所以会很感激任何指针。

1 个答案:

答案 0 :(得分:1)

你快到了:

[xml]$xml = Get-Content -Path $xmlPath

foreach ($websResponse in $websResponseList) 
{
    $elem = $xml.CreateElement('WebS','00001') # substitute with data
    $xml.ItemNum.AppendChild($elem)
}
$xml.save($xmlPath)