2017-08-10 1 views
1

持つXMLファイルで検索と置換今、私はPowerShellのメーカー2017を使用してGUIを使用してXMLファイルを生成していますこのコードスニペットはにCheckedListBox内のチェックされた項目を収集しますPowerShellを

$Groups = $chklistGroups.CheckedItems | ForEach-Object { 
    "<Group>$_</Group>`n`t`t`t`t" 
} 

これらのチェックボックスの一部&が含まれています。これは明らかにXMLファイルの内部にはありません。 &を削除し、このコードスニペット内の該当する&amp;に置き換える方法はありますか?

# check the xml file for & and replace them with &amp; so it doesn't crash - except it doesn't work so it's gonna crash 
if ($NewUserXML.NewUser.ActiveDirectory.User.Groups.Group.Contains("&")) 
{ 
    "$($NewUserXML.NewUser.ActiveDirectory.User.Groups.Group)".Replace('&','&amp;') 
} 

はXMLを作成する前にこれを行うには、一般的に優れているのか、それはスクリプト自体に入れています後:このXMLファイルは、私はこれでアンパサンドを削除しようとした別のスクリプトへ渡されます?私の前提は、それが作成される前にそれを行う方が良いということです。もしそうなら、コードの最初のスニペットでそれを行うことは可能ですか?

答えて

2

あなたのForEach-Object以内に置き換えるに完了できます。完璧に動作

$Groups = $chklistGroups.CheckedItems | ForEach-Object { 
    "<Group>$($_.Replace('&','&amp;'))</Group>`n`t`t`t`t" 
} 
+0

を。ありがとう! – Matt

+1

あなたの答えがうまくいったら、それを受け入れたものとしてマークしてください/投票してください。 –