我想使用 Powershell 映射游戏按钮。游戏使用 XML 来表示这些值。我需要更改<InputMapping>Service2</InputMapping>
XML 如下所示:
<JoystickButtons>
<ButtonName>Service 2</ButtonName>
<InputMapping>Service2</InputMapping>
</JoystickButtons>
这是我目前的脚本
[xml]$gameInfo = Get-Content $game.fullname
$xml = New-Object XML
$xml.Load("C:\PATH\$game")
$Buttons = $xml.SelectNodes("/JoystickButtons")
我应该怎么办?
你已经接近目标了,如果你想要定位
InputMapping
节点,那么你的 XPath 应该是JoystickButtons/InputMapping
,然后你从那里访问.InnerText
属性并为其分配一个新值。最后,.Save
使用你用来加载 XML 的路径或新路径(如果你决定的话)。如果您想要定位
InputMapping
文本等于的节点,Service2
则可以使用 XPath:最后,如果有多个
InputMapping
节点并且您想要更新它们所有,则您可以使用.SelectNodes
而不是.SelectSingleNode
并且需要一个循环来更新每个节点。