.SelectSingleNode в скрипте Powershell с использованием xPath не работает при извлечении значений из файла web.config
Итак, вот фрагмент моего файла web.config:
...
....
Что я'я пытаюсь сделать, это найти узел, используя xPath через Powershell. Несколько замечаний по поводу этого XML-файла:
Есть несколько:
значения в XML-файле. Они окружают другие узлы, как и т.д ...
Я могу найти и заменить значения строки подключения успешно с помощью этого сценария
$WebConfigFile = Join-Path $destination Web.config
[xml]$WebConfigXml = Get-Content ($WebConfigFile)
$WebConfigXml.configuration.location[2].connectionStrings.add | % { $_.connectionString = $_.connectionString -replace "some value", $sqlServerName }
Но когда я иду, чтобы заменить ключ добавления = "SiteDomain» значение с помощью этого скрипта:
$node = $WebConfigXml.configuration.location[3].appSettings.SelectSingleNode("add[@key = 'SiteDomain']")
$node.value = "someValue"
$WebConfigXml.Save($WebConfigFile)
это не работает. В этом случае значение $ node содержит пустую строку.
Я также пытаюсь просто прочитать узел следующим образом:
$appSettingsSection = $WebConfigXml.configuration.location[3].appSettings;
$existingSiteDomain = $appSettingsSection.SelectSingleNode("add[@key='SiteDomain']")
И я'я все еще получаю пустую строку для значения $ существующегоSiteDomain.
Я посмотрел на образцы, используя SelectSingleNode, и я могуКажется, я не могу понять это. Не слишком уверен, что яЯ делаю неправильно.
Спасибо майк