编辑 - 根据答案修改:
好的,这是我根据答案修改的内容:
这是字符串。
"November is Fruit's Fresh."
这就是我正在做的事情:
static string EscapeCharacters(string txt)
{
string encodedTxt = HttpUtility.HtmlEncode(txt);
return HttpUtility.HtmlDecode(encodedTxt);
}
string _decodedTxt = EscapeCharacters("November is Fruit's Fresh.");
当它返回时,我仍然得到相同的文字November is Fruit's Fresh.
结束编辑
我尝试使用HttpUtility.HtmlDecode
中的System.Web
并尝试使用SecurityElement.Escape
,但它没有正确转义。
所以我最终编写了我自己的替换方法:
static string EscapeXMLCharacters(string txt)
{
string _txt = txt.Replace("&", "&").Replace("<", "<").Replace(">", ">").Replace(""", "\"").Replace("'", "'").Replace("&", "&").Replace("<", "<").Replace(">", ">").Replace(""", "\\").Replace("'", "'");
return _txt;
}
它确实适用于我的情况,但很难涵盖所有内容,在我的情况下,我有一些欧洲字符,如í``(í)
或é (é)
是否有内置.Net的实用工具方法可以处理任何特殊字符?
答案 0 :(得分:0)
您可以使用HtmlEncode
对字符串进行编码,然后您可以使用HtmlDecode
返回原始值:
string x = "éí&";
string encoded = System.Web.HttpUtility.HtmlEncode(x);
Console.WriteLine(encoded); //éí&
string decoded = System.Web.HttpUtility.HtmlDecode(encoded);
Console.WriteLine(decoded); //éí&
通过更新,您只需解码字符串:
String decoded = System.Web.HttpUtility.HtmlDecode("November is Fruit's Fresh.");
Console.WriteLine(decoded); //November is Fruit's Fresh.
答案 1 :(得分:0)
tagText = SecurityElement.Escape(tagText);
http://msdn.microsoft.com/en-us/library/system.security.securityelement.escape.aspx
或
System.Net.WebUtility.HtmlDecode(textContent);