显示xml特殊字符
本文关键字:特殊字符 xml 显示 | 更新日期: 2023-09-27 18:26:46
我正在尝试显示xml中存在的特殊字符。我提出了以下条件:
if (text.Contains('<'))
{
text.Replace("<", "<");
}
if (text.Contains('>'))
{
text.Replace(">", " >");
}
if (text.Contains('&'))
{
text.Replace("&", " &");
}
if (text.Contains('>'))
{
text.Replace("", """);
}
但这些逃脱了显而易见的性格
有人能告诉我如何显示这些特殊的字符吗。
您的即时问题是您忽略了string.Replace
的结果-字符串在.NET中是不可变的,因此您需要:
result = result.Replace(...);
然而,您最好不要自己尝试这样做,而是使用XML API。例如,如果您想创建一个包含<
元素的XML文档,您只需使用:
var doc = new XDocument(new XElement("root", "<"));
Console.WriteLine(doc);
它将在输出时自动转义,因此您可以得到:
<root><</root>
您几乎应该永远不要自己处理XML——XMLAPI是您的朋友,LINQ-to-XML是非常好的一个。
您需要SecurityElement.Escape
var result = SecurityElement.Escape(text);