我试图从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)
但得到一个错误说明无法找到该元素.
有人可以帮忙吗?
请帮我创建一个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) 好吧,我觉得这里真是个大白痴.我已经与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 ......",但是现在我正在把头撞到墙上并且可以使用一些帮助