xml中的非法字符

次元: 好多假365平台 时间戳: 2026-06-13 19:40:39 观察者: admin 访问量: 5568 能量值: 739
xml中的非法字符

今使用Jdom生成xml文件的时候,总是出现0x0,0x8为非法字符,经过搜索,问题原因及解决方法如下:

原因:

xml中需要过滤的字符分为两类,一类是不允许出现在xml中的字符,这些字符不在xml的定义范围之内。另一类是xml自身要使用的字符,如果内容中有这些字符则需被替换成别的字符。

第一类字符:

对于第一类字符,我们可以通过W3C的XML文档来查看都有哪些字符不被允许出现在xml文档中。

XML允许的字符范围是“#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]”。因此我们可以把这个范围之外的字符过滤掉。

需要过滤的字符的范围为:

\\x00-\\x08

\\x0b-\\x0c

\\x0e-\\x1f

第二类字符:

对于第二类字符一共有5个,如下:

字符 HTML字符 字符编码

和(and) & & &

单引号 ’

' '

双引号 ” " "

大于号 > > >

小于号 < < <

我们只需要对这个五个字符,进行相应的替换就可以了

解决方法:

用正则表达式替换,

用正则表达式表示如下:[<>&'\"\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]

相关维度

旅游攻略导航

旅游攻略导航

DNF17周年庆:血法加点攻略与技巧全解析

DNF17周年庆:血法加点攻略与技巧全解析

媢怎么组词

媢怎么组词

vivoX9和小米6买哪个?这款改变你想法

vivoX9和小米6买哪个?这款改变你想法