如何从数据库中检索数据时转义特殊字符?

zs2*_*020 3 xml sql-server

我将基于从SQL Server返回的数据生成XML文件,但是有一些特殊的字符,如(可能还有其他这样的字符),这将使XML失败.

有没有办法逃脱他们?

谢谢!

bob*_*nce 5

控制字符U + 001C(文件分隔符)和U + 001F(单位分隔符)在XML 1.0文档中包含是不合法的,无论是逐字还是使用&#...;数字字符引用进行编码.

仅当作为字符引用包含在XML 1.1文档中时才允许它们.但是,XML 1.1并不像1.0那样被广泛接受,并且即使作为字符引用也不能使用U + 0000(null),因此仍然无法将任意二进制数据放入XML文件中 - 而不是它一个好主意.

如果要在XML文件中包含数据字节,通常应该使用您自己的特殊编码,该编码被特定类型文档的所有使用者接受.为了将二进制数据放入XML,通常使用base64.对于不适合任何此类特殊编码方案的格式,您无法插入这些控制字符.

控制字符的目的是什么?