文本被引入系统,它可以是任何东西,它必须作为文本存储在数据库中(此处为长度限制),并且必须将其转义为XML安全。
在这种情况下(长度限制为6):
string theInput = "hell&";
它将被转移到
"hell&"
然后保存到(截断)
"hell&a"
现在的问题是我假设输入被很好地转义,而不是。
在这种情况下,所需的输出将是“地狱”,因为我对保存转义输出无法正确存储的内容不感兴趣。
是否有内置功能来实现这一目标? (.NET framework 4),像;
SecurityElement.Escape(text, maxLen); //this overload does not exist :(
如果没有,建议?
编辑:只是为了澄清;输入必须存储XML-Safe(在数据库上),因为系统的其他部分需要它(包括不容易更新客户端)
答案 0 :(得分:0)
没有任何内置可以达到你想要的效果。您需要做的是转义完整的字符串,然后检查长度。如果超过最大值,则必须检查最大索引处的char是否介于&和&之间。和;如果确实如此,则需要进行进一步的分析。