现在已知一个XML文件中有非法字符,如何替换这些字符呢?

小带鱼 2013-05-13 11:50:32
现在有一个XML文件,我知道里面有非法字符,就是除了正常的元素外,内容中可能包括了&和<,>这样的非法字符。
请问我如何将这些字符转译???

有没有简单一点的方法。
我暂时知道用jdom,把element一个一个的遍历下去,找到不是element的直接替换里面的非法字符。除了这样的方法,请问还有没有更便捷的方法???
最好,除了用JAVA自带的API和JDOM以外,最好别再导入其他的外部jar包。


请各位老师赐教
...全文
389 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xianwangkai 2013-05-13
  • 打赏
  • 举报
回复
SAX + 回调解析的方式,高效有安全。 实现方式: 一部分一部分先解析,然后遇到特殊字符,直接回调上层封装的一个函数(该函数要么做字符编码要么做非法字符解析等),然后继续往下执行,最后获取新的xml。 其实还有一种方式把xml读取为byte,然后查看特殊非法字符的编码,然后特殊处理,就可以了!
shinelord明 2013-05-13
  • 打赏
  • 举报
回复
可不可以先尝试一下吧非法字符替换成可用字符,等解析完了,在替换回来?
长笛党希望 2013-05-13
  • 打赏
  • 举报
回复
个人认为,先用io读文件,去除element中的信息,然后过滤掉非法字符。
失落夏天 2013-05-13
  • 打赏
  • 举报
回复
如果xml解析不行的话,使用直接读文本的方式。 至于判断这些特殊字符,可以使用ASCII码的方式。
Inhibitory 2013-05-13
  • 打赏
  • 举报
回复
如果有非法字符,用解析xml的类是解析不出来的,会报错。
小带鱼 2013-05-13
  • 打赏
  • 举报
回复
简单的可以用正则表达式,复杂的就麻烦了。5楼老师提到的SAX,也是很多其他老师让我用的。可是这个不太熟。还要去学这个。

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧