Próbuję sprawdzić, czy dany węzeł istnieje, czy nie, jak poniżej.Jak sprawdzić, czy węzeł istnieje, czy nie używa powłoki powershell bez uzyskania wyjątku?
W moim pliku konfiguracyjnym znajduje się węzeł o nazwie client, może on być dostępny lub nie.
Jeśli nie jest dostępna, muszę ją dodać.
$xmldata = [xml](Get-Content $webConfig)
$xpath="//configuration/system.serviceModel"
$FullSearchStr= Select-XML -XML $xmldata -XPath $xpath
If ($FullSearchStr -ne $null) {
#Add client node
$client = $xmldata.CreateElement('Client')
$client.set_InnerXML("$ClientNode")
$xmldata.configuration."system.serviceModel".AppendChild($client)
$xmldata.Save($webConfig)
}
Sprawdzany warunek może zwrócić tablicę.
Chciałbym sprawdzić, czy węzeł klienta dostępny przed, czy nie?
Warunek się powiódł, nawet jeśli węzeł "klient" już istnieje – Samselvaprabu
Jeśli ścieżka x jest przekazywana jako zmienna taka jak ta $ xpath = '// co nfiguration/system.serviceModel/client '\t \t $ client = $ xmldata.SelectSingleNode ($ xpath) nie powiedzie się, ale jeśli przekażę ścieżkę bezpośrednio, to działa poprawnie. Osobliwa logika !!! czego brakuje mi MVP? – Samselvaprabu