我有一个脚本,它从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的文章,可能还有一些与我想要实现的非常类似的文章,但这是因为某种原因让我感到难过,所以会很感激任何指针。
答案 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)