我正在移植我编写的Java项目,该项目使用Apache Commons Lang StringEscapeUtils类(特别是
escapeXml
unescapeXml
escapeHtml
unescapeHtml
方法)。是否有.Net等价物?或者也许是C#代码的一些完全逻辑的部分可以完成同样的事情?
答案 0 :(得分:4)
使用System.Web for HTML有:
对于XML转义,您可以使用System.Security命名空间中的SecurityElement.Escape method。然而,我所知道的并不等同于它。您必须编写自己的方法来替换编码的XML,例如<
和&
等等。 escape方法的链接列出了其他项目。
答案 1 :(得分:3)
public static class StringEscapeUtils
{
public static string EscapeXml(string unescaped)
{
return SecurityElement.Escape(unescaped);
}
public static string UnescapeXml(string escaped)
{
return escaped.Replace("<", "<")
.Replace(">", ">")
.Replace(""", "\"")
.Replace("'", "'")
.Replace("&", "&");
}
public static string EscapeHtml(string unescaped)
{
return HttpUtility.HtmlEncode(unescaped);
}
public static string UnescapeHtml(string escaped)
{
return HttpUtility.HtmlDecode(escaped);
}
}
答案 2 :(得分:1)
您可以使用HtmlEncode和HtmlDecode进行Html替换。您可以找到XML转义的选项here。
答案 3 :(得分:1)
HttpServerUtility.HtmlEncode,HtmlDecode,UrlDecode等等......
对于XML:
System.Xml.XmlConvert
System.Security.SecurityElement.Escape