【问题标题】:An equally quick alternative to SecurityElement.Escape(string) to escape XML special characters?一个同样快速的替代 SecurityElement.Escape(string) 来转义 XML 特殊字符?
【发布时间】:2011-02-28 15:56:28
【问题描述】:

我遇到了这个 SecurityElement.Escape(string) 方法来转义字符串中的特殊 XML 字符,但是考虑到我只是使用通用 System.Xml 命名空间和基本的 XML 字符串,它似乎奇怪地放置在安全命名空间中,与安全无关。

它转换以下特殊的 XML 字符。

< to &lt;
> to &gt;
" to &quot;
' to &apos;
& to &amp;

是否有一个在 XML 命名空间内的某处同样快速的静态方法调用来转义这些字符,而不使用 XmlReader、XmlDocument 等更高级别的类?

【问题讨论】:

    标签: .net xml string escaping


    【解决方案1】:

    以下是对选项的一个很好的总结:

    Different ways to escape XML

    【讨论】:

    • 谢谢。有趣的是,该文章中没有列出位于 System.Xml 命名空间中的快速选项。 HttpUtility 类很有希望,但我将不得不在 System.Web.dll 程序集中引用该逻辑。如果这些是唯一的选择,那么我可能会坚持使用 SecurityElement.Escape 方法,因为它已经自然地引用到程序中。
    • 同意,我们最常使用它是出于同样的原因。
    • 请注意,其中一些方法已过时或不完整。例如,您不应使用HttpUtility.HtmlEncode,而应使用WebUtility.HtmlEncode。 @JohnK - WebUtility 位于 System.Net 命名空间中,并且与 .NET Core 兼容。
    猜你喜欢
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    • 2018-12-14
    • 1970-01-01
    • 2019-05-09
    • 1970-01-01
    相关资源
    最近更新 更多