1

现在,我正在使用 PowerShell Studio 2017 生成带有 GUI 的 XML 文件。这段代码将选中的项目收集到 CheckedListBox 中:

$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 之前还是在将其放入脚本本身之后执行此操作更好?我的假设是最好在创建之前完成它。如果是这样,是否可以在第一段代码中做到这一点?

4

1 回答 1

2

您可以在您的ForEach-Object

$Groups = $chklistGroups.CheckedItems | ForEach-Object {
    "<Group>$($_.Replace('&','&amp;'))</Group>`n`t`t`t`t"
}
于 2017-08-10T13:13:24.280 回答