【发布时间】:2021-10-24 05:12:38
【问题描述】:
谁能帮帮我?我正在使用FOR XML PATH('') 加密 SQL Server 中的特殊字符,但需要在 C# 中解密。
示例:FOR XML PATH('') 加密字符串后为:Companys(原始值“Company's”),如何在 C# 中将该字符串解密回“Company's”?
谢谢, 壁画。
【问题讨论】:
-
for encrypt special chars这到底是什么意思,我不明白这个例子。您能否显示您正在使用的代码以及确切的示例输入 -
这不是加密 - 就像使不可读 - 这充其量是一种“编码”(通过将
'等某些字符替换为十六进制表示)..... -
发布您的完整查询。您也许可以使用 TYPE 和 .value 来完全跳过 XML 编码。
-
您的代码可能在 SQL 端或 C# 端出现错误,因为
FOR XML生成的数据要么是语法上有效的 XML(在这种情况下,它应该在 C# 中进行解析) ,例如通过SqlXml或XElement),或者它不是有效的XML,而只是用作使字符串连接起作用的技巧,在这种情况下,可以增强T-SQL以解码值本身(通过明智的使用value()方法)。应该不需要手动解码。
标签: c# sql-server xml