我在MS SQL 2005中有一个XML存储过程,我使用SqlCommand.ExecuteXmlReader获取XmlReader,然后解析数据并形成XML文档。问题在于SQL中的数据包含一些在UTF-8 XML文档中不合法的二进制字符,因此引发异常。在.NET中过滤非法XML字符
有没有其他人处理过这个问题?我曾考虑将输入数据过滤到数据库中,但是我必须将过滤器放在任何地方,并且每个角色都需要检查。
其他建议?
编辑: 数据通常存储在不同长度的varchar列中。数据实际上是从Web表单上的用户输入的(ASP .NET应用程序)。所以有时他们从MS Word中复制粘贴或者其他东西,它会把这些奇怪的二进制字符放入。
数据是用户输入存储在数据库的varchar列中。 – 2009-04-29 13:03:59