相关疑难解决方法(0)

如何使用PowerShell更改XML Element属性的值?

我试图从XML标记访问和更改特定属性

XML:

<office>
  <staff branch="Hanover" Type="sales">
    <employee>
        <Name>Tobias Weltner</Name>
        <function>management</function>
        <age>39</age>
    </employee>
    <employee>
        <Name>Cofi Heidecke</Name>
        <function>security</function>
        <age>4</age>
    </employee>
  </staff>
  <staff branch="London" Type="Technology">
   <employee>
    <Name>XXXX</Name>
    <function>gement</function>
    <age>39</age>
Run Code Online (Sandbox Code Playgroud)

从上面的例子我想打印分支属性,然后想要在所有整个XML中使用一个值(如纽约)更改它,并使用下面的代码来执行该操作

       $xml=New-Object XML

      $xml.Load("C:\FE6Work.xml")

      $node=$xml.SelectNodes("/office/staff")

      write-output $node.branch
      $node.branch="New York"
Run Code Online (Sandbox Code Playgroud)

但得到一个错误说明无法找到该元素.

有人可以帮忙吗?

xml powershell powershell-2.0

28
推荐指数
2
解决办法
4万
查看次数

用于更新XML文件内容的Powershell脚本

请帮我创建一个Powershell脚本,该脚本将通过XML文件并更新内容.在下面的示例中,我想使用该脚本在Config.button.command示例中提取并更改文件路径.将C:\ Prog\Laun.jar更改为C:\ Prog32\folder\test.jar.请帮忙.谢谢.

<config>
 <button>
  <name>Spring</name>
  <command>
     C:\sy32\java.exe -jar "C:\Prog\Laun.jar" YAHOO.COM --type SPNG --port 80
  </command>
  <desc>studies</desc>
 </button>
 <button>
  <name>JET</name>
    <command>
       C:\sy32\java.exe -jar "C:\Prog\Laun.jar" YAHOO.COM --type JET --port 80
    </command>
  <desc>school</desc>
 </button>
</config>
Run Code Online (Sandbox Code Playgroud)

xml powershell file

27
推荐指数
2
解决办法
6万
查看次数

使用powershell编辑XML

好吧,我觉得这里真是个大白痴.我已经与Powershell合作了一段时间,用于工作中的管理目的.那就是说,脚本不是我的强项.

现在,我正在尝试编写一个PS脚本,在一堆机器上为XML添加一个部分,以添加设置以解决我们在某个应用程序中遇到的问题

XML文件如下所示

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
      <add Name="testdata"/>
  </configSections>
  <connectionStrings>
      <add Name="testdata"/>
  </connectionStrings>
  <ProvidersConfiguration>
    <Providers>
      <add Name="testdata"/>
    </Providers>
  </ProvidersConfiguration>
  <FacadeSettings>
    <Providers>
      <add Name="testdata"/>
    </Providers>
  </FacadeSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

现在,我一直在谷歌搜索和搜索几个小时,有一些我没有得到的东西.因为我可以在我的脚本中加载文件,导航所有设置,甚至修改现有值,但这不是我需要做的.

我需要添加这样的部分

<NewSettings>
    <add Name="setting"/>
  </NewSettings>
Run Code Online (Sandbox Code Playgroud)

所以我的配置文件看起来像这样

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
      <add Name="testdata"/>
  </configSections>
  <connectionStrings>
      <add Name="testdata"/>
  </connectionStrings>
  <ProvidersConfiguration>
    <Providers>
      <add Name="testdata"/>
    </Providers>
  </ProvidersConfiguration>
  <FacadeSettings>
    <Providers>
      <add Name="testdata"/>
    </Providers>
  </FacadeSettings>
   <NewSettings>
      <add Name="setting"/>
   </NewSettings>
</configuration>
Run Code Online (Sandbox Code Playgroud)

这是我无法弄清楚的NewSettings部分,我确信当我绕过它时,我会去"OH ......",但是现在我正在把头撞到墙上并且可以使用一些帮助

xml powershell

2
推荐指数
1
解决办法
7189
查看次数

标签 统计

powershell ×3

xml ×3

file ×1

powershell-2.0 ×1