我有一个文本框,最终保存在一个xml节点中。我使用SecurityElement.Escape(string2Escape)来转义无效字符,然后保存xml。
问题:我尝试使用IsValidText测试是否需要运行转义方法,但它将'''和'&'视为有效,但当你保存xml时,系统会报错,因为它们实际上是无效的。似乎只有'<'或'>'返回false。
简单的解决方案是删除检查,但我的问题是为什么会出现这种情况?
以下是我的失败代码:
private string EscapeXML(string nodeText)
{
if (!SecurityElement.IsValidText(nodeText))
{
return SecurityElement.Escape(nodeText);
}
return nodeText;
}