Редактирование XML-файлов от powershell

У меня есть этот XML-файл, ниже которого я должен отредактировать.

<?xml version="1.0"?>
<rdwastr:strings xmlns:rdwastr="urn:microsoft.com:rdwastrings">
  <string id="PageTitle">RD Web Access</string>
  <string id="NoScriptWarning">
    <p id="NoScript1">RD Web Access requires JScript. This Web browser either does not support JScript, or scripts are being blocked.</p>
    <br/>
    <br/>
    <p id="NoScript2">To find out whether your browser supports JScript, or to allow scripts, see the browser's online Help.</p>
  </string>
  <string id="HeadingRDWA">RD Web Access</string>
  <string id="HeadingApplicationName">RemoteApp and Desktop Connection</string>
  .
  .
  .
  <string id="PrivateComputer">I am using a private computer that complies with my organization's security policy.</string>
  <string id="MoreInformation">More information...</string>
  <string id="PrivateMore">By selecting this option you can save your credentials so that they can be used in the future when connecting to these programs. Before you select this option, please ensure that saving your credentials is in compliance with your organization's security policy.</string>
  <string id="HideMore">Hide additional information...</string>
</rdwastr:strings>

Существует несколько примеров онлайн, но я не получил результат до сих пор, здесь что я попробовал наконец. По-видимому, точка с запятой может быть проблемой.

$xml = [xml](Get-Content \\$client.xyz.com\C$\Windows\Web\RDWeb\Pages\en-US\RDWAStrings.xml)
$node = $xml."rdwastr:strings".string | where {$_.id -eq 'HeadingApplicationName'}
Write-Host $node
$node.Value = "whatever"

Хост записи ничего не возвращает так, что я предполагаю, что предыдущий оператор ничего не возвращает и присваивает его узлу. Как я решаю это?

0
задан 23 December 2014 в 20:26
1 ответ

Мой опыт игры с XML ограничен, мягко говоря, но как насчет чего-то вроде:

$node = $xml.strings.string | where { $_.id -eq "HeadingApplicationName" }
Write-Host $node.'#text'
$node.'#text' = "whatever"

В моем ограниченном тестировании, похоже, сработало ...

3
ответ дан 4 December 2019 в 12:29

Теги

Похожие вопросы