处理垂直标签和其他无效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编码和解码,但我不认为有一个很好的选择.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


xml怎么加入图片路径
rss源错误怎么解决
文件后缀xml是什么意思
xml格式电子发票怎么获取
xml格式是什么意思
rss是什么意思啊
xml格式电子发票怎么打开
rss订阅源是什么意思
rss源是什么
xml注释怎么写
php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类