加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

处理垂直标签和其他无效xml字符的最佳做法

发布时间:2020-12-16 07:53:38 所属栏目:百科 来源:网络整理
导读:我有一个应用程序(像许多其他人)接受用户输入,将其存储在数据库中,然后使用(其中包括) XML工具进行处理.该应用程序采用免费文本输入,像许多其他开发人员一样,我非常小心地转义和引用,因此它可以处理包含不同类型的空格,引号,保留的XML字符等的输入. 但是,偶
我有一个应用程序(像许多其他人)接受用户输入,将其存储在数据库中,然后使用(其中包括) XML工具进行处理.该应用程序采用免费文本输入,像许多其他开发人员一样,我非常小心地转义和引用,因此它可以处理包含不同类型的空格,引号,保留的XML字符等的输入.

但是,偶尔用户将会设法输入一个包含垂直制表符(十六进制0B)或表单(十六进制0C)的字符串.这完全不能被XML工具处理,并导致应用程序到barf.

在我的应用程序中,在“往返”过程中保留原始输入是非常重要的,所以我不想删除我不喜欢的任何字符,特别是像平常的文本文件中偶尔使用的表单feed .

在涉及XML处理时,是否有任何接受的最佳做法或处理这些字符的一般策略?

是的,不幸的是,一些字符在XML中是非法的,并且没有实体等同.作为这些例子之一,请参阅:
http://www.jdom.org/docs/apidocs.1.1/org/jdom/Element.html#setText(java.lang.String)

这是一个String setter …可以抛出异常! “垂直”选项卡正是其中没有XML实体的字符之一,也不是单独使用XML“转义”它的方式.

我正在使用base64编码来清理可能包含这些字符的字符串.这有点傻,因为我必须对所有的base64编码和解码,但我不认为有一个很好的选择.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读