C#中是否有一种方法可以将HTML和XML中具有特殊含义的字符转换为实体?
Is there a method in C# that converts just the characters with a special meaning in HTML and XML to entities?
我的程序生成一个 XML 文件,其中包含来自数据库的数据,其中包含特殊的 HTML/XML 字符,因此需要将这些字符转换为实体。
我尝试为此使用 System.Web.HttpUtility.HtmlEncode()
,这很有效,但它比我想要的要多得多。
即使在 HTML 和 XML 中没有特殊含义,某些(但不是全部)非 ASCII 字符(例如中间点和上标数字)也会被转换。
例如,我得到字符串 a·ba·ĵur·o
而不是简单的 a·ba·ĵur·o
。
如您所见,音调 "j"
保持原样,但点已转换。这使得文件中的某些数据难以被人类阅读;
我只想转换<
、>
、&
、'
和"
,仅此而已。
C# 中是否有执行该操作的方法,还是我需要自己编写?
使用SecurityElement.Escape("your HTML")
我的程序生成一个 XML 文件,其中包含来自数据库的数据,其中包含特殊的 HTML/XML 字符,因此需要将这些字符转换为实体。
我尝试为此使用 System.Web.HttpUtility.HtmlEncode()
,这很有效,但它比我想要的要多得多。
即使在 HTML 和 XML 中没有特殊含义,某些(但不是全部)非 ASCII 字符(例如中间点和上标数字)也会被转换。
例如,我得到字符串 a&#183;ba&#183;ĵur&#183;o
而不是简单的 a·ba·ĵur·o
。
如您所见,音调 "j"
保持原样,但点已转换。这使得文件中的某些数据难以被人类阅读;
我只想转换<
、>
、&
、'
和"
,仅此而已。
C# 中是否有执行该操作的方法,还是我需要自己编写?
使用SecurityElement.Escape("your HTML")