我正在尝试在 .NET (C#) 中对字符串中的 XML 实体进行转义,但我似乎无法使其正常工作。
例如,如果我有字符串AT&T
,它应该被翻译成AT&T
.
一种方法是使用 HttpUtility.HtmlDecode(),但这是针对 HTML。
所以我对此有两个问题:
使用 HttpUtility.HtmlDecode() 解码 XML 实体是否安全?
我如何使用 XmlReader (或类似的东西)来做到这一点?我尝试了以下方法,但总是返回一个空字符串:
static string ReplaceEscapes(string text) { StringReader reader = new StringReader(text); XmlReaderSettings settings = new XmlReaderSettings(); settings.ConformanceLevel = ConformanceLevel.Fragment; using (XmlReader xmlReader = XmlReader.Create(reader, settings)) { return xmlReader.ReadString(); } }