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")