2010-01-09 68 views

回答

4

使用的System.Web的HTML有:

對於XML轉義,你可以在System.Security命名空間中的SecurityElement.Escape method。然而,我沒有意識到它沒有相當於它。您將不得不編寫自己的方法來替換已編碼的XML,例如<&等等。轉義方法的鏈接列出了其他項目。

+0

我投票這件事作爲答案的一半(只需要XML部分)和快速響應! –

+0

查看更新...現在添加鏈接... –

+0

我打算繼續說你釘了這一個。實際上,對於我目前的任務來說,XML無疑是最重要的事情,但知道在系統名稱空間中沒有地方可以查看,至少比整天閱讀MSDN文章要好。 –

3
public static class StringEscapeUtils 
{ 
    public static string EscapeXml(string unescaped) 
    { 
     return SecurityElement.Escape(unescaped); 
    } 

    public static string UnescapeXml(string escaped) 
    { 
     return escaped.Replace("&lt;", "<") 
         .Replace("&gt;", ">") 
         .Replace("&quot;", "\"") 
         .Replace("&apos;", "'") 
         .Replace("&amp;", "&"); 
    } 

    public static string EscapeHtml(string unescaped) 
    { 
     return HttpUtility.HtmlEncode(unescaped); 
    } 

    public static string UnescapeHtml(string escaped) 
    { 
     return HttpUtility.HtmlDecode(escaped); 
    } 
} 
+0

我喜歡將這些各種功能包裝到一個StringEscapeUtils類中。就實用性而言,這些反應是無奈的。我現在都投票給他們,但我必須選擇一個作爲「答案」,所以我與第一個一起去了。你的先生肯定贏得了17.1萬的聲望。 –