我移植了一個Java項目,我寫它使用Apache Commons LangStringEscapeUtils類(特別是是否有org.apache.commons.lang.StringEscapeUtils for .Net的實現?
escapeXml
unescapeXml
escapeHtml
unescapeHtml
方法)。是否有.Net等價物?或者也許完全合乎邏輯的C#代碼,完成同樣的事情?
我移植了一個Java項目,我寫它使用Apache Commons LangStringEscapeUtils類(特別是是否有org.apache.commons.lang.StringEscapeUtils for .Net的實現?
escapeXml
unescapeXml
escapeHtml
unescapeHtml
方法)。是否有.Net等價物?或者也許完全合乎邏輯的C#代碼,完成同樣的事情?
使用的System.Web的HTML有:
對於XML轉義,你可以在System.Security命名空間中的SecurityElement.Escape method。然而,我沒有意識到它沒有相當於它。您將不得不編寫自己的方法來替換已編碼的XML,例如<
和&
等等。轉義方法的鏈接列出了其他項目。
您可以使用HtmlEncode和HtmlDecode進行Html替換。您可以找到用於XML轉義的選項here。
HttpServerUtility.HtmlEncode,HtmlDecode,UrlDecode等等...
也爲XML:
System.Xml.XmlConvert
System.Security.SecurityElement.Escape
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);
}
}
我喜歡將這些各種功能包裝到一個StringEscapeUtils類中。就實用性而言,這些反應是無奈的。我現在都投票給他們,但我必須選擇一個作爲「答案」,所以我與第一個一起去了。你的先生肯定贏得了17.1萬的聲望。 –
我投票這件事作爲答案的一半(只需要XML部分)和快速響應! –
查看更新...現在添加鏈接... –
我打算繼續說你釘了這一個。實際上,對於我目前的任務來說,XML無疑是最重要的事情,但知道在系統名稱空間中沒有地方可以查看,至少比整天閱讀MSDN文章要好。 –