转义和取消转义无效字符

问题描述 投票:2回答:1

这应该很容易。我有一个像下面这样逃脱的字符串:

string originalString = "M&M";
string escapedString = System.Security.SecurityElement.Escape(originalString);//M&M

到目前为止很好

string unEscapedString = System.Security.SecurityElement.FromString(escapedString).Text;

期待返回M&M,但未设置“对象未设置”

假定字符串应为xml格式,所以在这种情况下对我应该做的任何帮助都是有帮助的。

c# security escaping
1个回答
5
投票

您可以使用System.Net.WebUtility类的静态System.Net.WebUtility方法执行此操作:

HtmlDecode

之所以无法使用代码,是因为HtmlDecode方法需要有效的xml。请参阅文档string original = "M&M"; string escaped = System.Security.SecurityElement.Escape(original); string unescaped = System.Net.WebUtility.HtmlDecode(escaped);

参数FromStringhere用于创建安全元素的XML编码的字符串。

如果在字符串周围添加xml标记,则可以使代码示例正常工作:

xml
© www.soinside.com 2019 - 2024. All rights reserved.