所以我对PowerShell脚本和XML文件有点了解。 目前,XML文件格式如下:
<?xml version="1.0" encoding="utf-8"?>
<Settings>
<ARP>
<ConfigVLAN>
<Vlan>Vlan1</Vlan>
<Vlan>Vlan2</Vlan>
<Vlan>Vlan3</Vlan>
<Vlan>Vlan4$</Vlan>
</ConfigVLAN>
</ARP>
</Settings>
我的Powershell脚本是这样的:
function modifyXmlItem ($selectedItem, $newValue) {
$node = $xml.Settings.ARP.configVLAN | where {$_ -eq $selectedItem}
$node = $newValue
$xml.Save($path)
}
所以我希望通过文本框中的值更改Vlan1的值。 我可以从文本框中获得价值,我可以获得价值(Vlan 1),但我没有改变&#34; Vlan1&#34; ...
但是这个功能不起作用...... 我尝试过从网上提供的许多解决方案但没有工作......
你能帮我吗? (抱歉我的英语不好......)答案 0 :(得分:0)
试试这个:
$xml = [xml]'<?xml version="1.0" encoding="utf-8"?>
<Settings>
<ARP>
<ConfigVLAN>
<Vlan>Vlan1</Vlan>
<Vlan>Vlan2</Vlan>
<Vlan>Vlan3</Vlan>
<Vlan>Vlan4$</Vlan>
</ConfigVLAN>
</ARP>
</Settings>'
$selectedItem = 'Vlan4$'
$xml.Settings.ARP.ConfigVLAN.SelectSingleNode("Vlan[text()=""$($selectedItem)""]").InnerText = "NewValue"
$xml.Save('d:\temp\out.xml')