因此,我对我的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),但是我未能更改“Vlan1”.
但这个功能不起作用。我尝试过很多从网络上提供的解决方案,但是没有一种有效.
你能帮帮我吗..。(对不起,我的英语很差.)
发布于 2016-08-17 08:56:19
试试这个:
$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')https://stackoverflow.com/questions/38991367
复制相似问题