2017-08-10 70 views
1

現在取代我生成一個GUI使用PowerShell工作室2017年的這段代碼聚集了CheckedListBox內的檢查的項目的XML文件:查找和XML文件使用PowerShell

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

一些複選框包含&,這顯然不能位於XML文件中。有沒有什麼辦法在這段代碼中刪除&並用合適的&amp;替換它?然後,這個XML文件被傳遞到不同的腳本,在那裏我試圖用這個刪除&符號:

# 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之前,要做到這一點,或者在它放入腳本本身?我的假設是,它最好在創建之前完成。如果是這樣,是否有可能在第一部分代碼中做到這一點?

回答

2

你可以完成你的ForEach-Object內更換:

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

完美的作品。謝謝! – Matt

+1

如果答案適合您,請將其標記爲已接受/將其投票。 –