【发布时间】:2011-05-02 09:33:19
【问题描述】:
我的 xml 节点中有一些无效字符,例如 11 (U+000) 或垂直制表符。当我尝试将此 xml 插入 Oracle 时,出现如下异常:
ORA-31011: XML parsing failed
ORA-19202: Error occurred in XML processing
LPX-00217: invalid character 11 (U+000
因此我需要解析 xml 并检测哪个节点包含此无效字符并将其包装在 cdata 部分中。
【问题讨论】:
-
如果里面有无效字符,那就是not XML,不能这样对待。你需要先把它清理干净。
-
我们在使用 cms 时,编辑不小心复制了一些已被 cms 转换为 xml 的非法字符。所以只有在那之后,我们需要解析这个xml并将数据包装在cdata中。
-
CDATA 不允许您包含 the spec 不允许的字符。