7

以下のように、特定のノードが存在するかどうかを確認しようとしています。

私の設定ファイルにはclientという名前のノードがあり、利用できる場合とできない場合があります。

それが利用できない場合、私はそれを追加する必要があります。

    $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) 

    }

私がチェックしている条件は配列を返すかもしれません。

クライアントノードが以前に利用可能かどうかを確認したいのですが?

4

3 に答える 3

9

SelectSingleNode メソッドを試すことができます。

$client = $xmldata.SelectSingleNode('//configuration/system.serviceModel/Client')

if(-not $client)
{
    $client = $xmldata.CreateElement('Client')
    ...
}
于 2012-10-23T13:33:31.610 に答える
4

次のようなことができないのはなぜですか:

$xmldata = [xml](Get-Content $webConfig)    
$FullSearchStr = $xmldata.configuration.'system.serviceModel'    
于 2012-10-24T06:05:07.083 に答える