.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, и я могуКажется, я не могу понять это. Не слишком уверен, что яЯ делаю неправильно.

Спасибо майк

Ответы на вопрос(1)

Ваш ответ на вопрос