XMLファイルでIDを検証しているときに、大文字と小文字が区別されます。私はそれを大文字小文字を区別しないようにするために "translate"を追加しました。ここで XML SelectSingleNode大文字小文字を区別する
id specified 'Test' not found in 'xmlfile' Aborting...
は私のxmlファイルです:
<configuration>
<!-- TEST -->
<environment id="TEST">
<client>ABC</client>
<type>Test</type>
<filetype>ALL</filetype>
<enable>yes</enable>
</environment>
</configuration>
誰かがどのようにそれを作るために私に可能な解決策を提案してくださいすることができ
$Config = "xmlfile"
[xml]$configxml = Get-Content $config
$siteId = "Test"
$Siteid = $Siteid.ToLower()
$siteinfo = $configxml.SelectSingleNode("/configuration/environment[translate(@id='$($siteId)'])");
if(!$siteinfo)
{
Write-Host "id specified '$siteId' not found in '$config' Aborting..."
exit -1
}
else
{
Write-Host "site id is present"
}
私は次のエラーを取得しています:以下は、私のコードです大文字と小文字を区別しないで "translate"を使う方法は?
返信いただきありがとうございます。 $ siteIdに加えて、xml idも変換する必要があります。どうすればいいのか教えてくれますか? – mahesh
投稿コードに質問は既に '$ Siteid = $ Siteid.ToLower()'がありますので、この答えは冗長であり、本当の解決策を提供しません。 – wOxxOm
@wOxxOm:ありがとうございます。あなたが正しいです。私はコードを見て、それを逃した。 – breusshe