在AD请求输出中包含特殊字符到xml

时间:2013-10-25 08:19:27

标签: c# xml active-directory ldap linq-to-xml

我们需要提供一种将Active Directory用户导入MSSQL2012的机制。此过程分为两个阶段,即从AD导出到xml,从xml导入到SQL。

我认为我对特殊字符的格式化有一些问题。  例如,我们有一些dn的域名,包括“\”和“&”。

当我生成xml文件并在记事本中查看时,这两个字符显示为\\&

这对xml是否正确?如果是这样,我如何让另一端的OPENXML正确识别这些字符以插入SQL?

更新

所以我已经确定&被正确转换为&在我的OPENXML查询中。但是我认为我需要将\\的初始输出输出到xml作为\我的问题是有没有其他字符在cn中以这种方式转义?

1 个答案:

答案 0 :(得分:0)

@Jon Skeet  谢谢你的帮助。

我发现因为\存储在ldap中或者以\\的形式返回,所以我必须这样做

System.Text.RegularExpressions.Regex.Unescape(mystring_containing_escaped_backslash);

在我的xml文件中保存值之前。这意味着我的xml并非全部逃脱。因此,当我在导入器中读回它时,它正确地转义了转义的项目。