首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用powershell修改项目innerXml

用powershell修改项目innerXml
EN

Stack Overflow用户
提问于 2016-08-17 08:13:09
回答 1查看 2.8K关注 0票数 0

因此,我对我的PowerShell脚本和XML文件有了一点了解。当前,XML文件的格式如下:

代码语言:javascript
复制
<?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脚本是这样的:

代码语言:javascript
复制
function modifyXmlItem ($selectedItem, $newValue) {

    $node = $xml.Settings.ARP.configVLAN | where {$_ -eq $selectedItem}
    $node = $newValue
    $xml.Save($path)
}

因此,我希望通过文本框中的值来更改Vlan1的值。我可以从文本框中得到值,我可以得到被选中的值(Vlan 1),但是我未能更改“Vlan1”.

但这个功能不起作用。我尝试过很多从网络上提供的解决方案,但是没有一种有效.

你能帮帮我吗..。(对不起,我的英语很差.)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-17 08:56:19

试试这个:

代码语言:javascript
复制
$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')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38991367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档