我的问题类似于为什么 XML 1.0 中的“控制”字符是非法的?- 但是我正在寻找解决以下问题的方法,而不是为什么 XML 规范不允许 XML 中的控制字符。
我有一个 servlet,它根据用户请求打印一个包含 XML 的字符串。一个特定元素包含一个 CDATA 部分,该部分需要包含一些用户输入文本。
现在碰巧在一种特殊情况下,我们的用户输入包含字符 U+0001(控制字符)。即使我将字符集指定为 UTF-8,servlet 也会引发错误:
Error: not well-formed
Location:
<![CDATA[
有没有办法可以处理 Java 字符串以使其“XML 安全”?特别是,在放入 CDATA 部分时使其安全?
我希望我的问题很清楚!
在此先感谢,拉吉