Как изменить значение в XML из другого файла с помощью PowerShell? - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть конфиг.Мне нужно изменить значения значения в конфиге получив значение из текстового файла.То есть: XML-файл имеет <add key='shopId' value='foo'/> и текстовый файл, он имеет значение.

Я заменил либо весь файл, либо заданное дублирующее значение, либо изменил значение, указанное впеременная, но не из текстового файла.

Я делаю

[XML]$xml = Get-Content "C:\Folder\config"
$xpath = "/configuration/appSettings/add[@value='5' and @key ='shopId']"
$nodes = $xml.SelectNodes($xpath)

foreach ($n in $nodes) {
    $n.value = "TEST"   # How to change value from another file?
}

$xml.Save($xmlFile)

Но это не правильно для меня.Пожалуйста, помогите мне.Как изменить значение из другого файла?

1 Ответ

0 голосов
/ 14 ноября 2018

Насколько я понимаю, вы хотите прочитать значение из текстового файла и вставить его в файл конфигурации XML.

MWE

$TextFile = "C:\Folder\file.txt"
$XMLFile  = "C:\Folder\config.xml"

$Value    = Get-Content -Path $TextFile -Raw
[XML]$XML = Get-Content -Path $XMLFile
$XPath    = "/configuration/appSettings/add[@value='5' and @key ='shopId']"
$Nodes    = $XML.SelectNodes($xpath)

foreach ($Node in $Nodes) {
    $Node.value = $Value
}

$XML.Save($XMLFile)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...