`
fishyu0817
  • 浏览: 110159 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

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) &        &            &
单引号  ’ '            '
双引号  ”          "            "
大于号  >        >                  >
小于号  <        &lt;                   &#60;
我们只需要对这个五个字符,进行相应的替换就可以了

解决方法:

用正则表达式替换,

用正则表达式表示如下:[<>&'\"\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]
分享到:
评论
1 楼 0c0c0f 2014-11-15  
原来如此
str.replaceAll("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]", "")

相关推荐

    xml中的非法字符问题

    xml中的非法字符问题

    XML 非法字符(转义字符)

    严格地讲,在 XML 中仅有字符 "&lt;"和"&" 是非法的。省略号、引号和大于号是合法的,但是把它们替换为实体引用是个好的习惯。

    python创建文件时去掉非法字符的方法

    windows系统中文件名不能包含 \ / : * ?...以上这篇python创建文件时去掉非法字符的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。 您可能感兴趣的文章:python高效

    c#中XML解析文件出错解决方法

    1.内容中含有xml预定好的实体,如“&lt;”和“&”,对xml来说是禁止使用的,针对这种字符,解决方式是使用CDATA部件以”&lt;![CDATA[” 标记开始,以”]]&gt;”标记结束,是CDATA内部内容被解析器忽略。具体说明参考...

    论文研究-电子病例共享系统中XML文档处理方法的研究 .pdf

    电子病例共享系统中XML文档处理方法的研究,宁晓,杜军平,以一个开发完成的电子病例共享系统为平台,在从XML文档的解析,超大XML文档的生成、XML文档的切割以及XML文档中特殊和非法字符处理等

    JAVA对象转换成XML(CDATA)

    XML 元素中,"和 "&" 是非法的。"会产生错误,因为解析器会把该字符解释为新元素的开始。"&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始。CDATA:在标记CDATA下,所有的标记、实体引用都被忽略,而被XML...

    Tinyxml 源代码(VC6 & VS2005)

    老版本的TinyXML“保留”了字符实体,而在新版本中它们会被转化成字符串。 另外,所有字符都可以用它的Unicode编码数字来指定, " "和" "都表示不可分的空格字符。 打印 TinyXML有几种不同的方式来打印输出,...

    C#替换敏感字符(包含方法和字符txt)

    非法关键词过滤 包含(txt敏感词文档和使用方法。)

    xmlbs:(古老的)XML车身修理厂

    停产.. 随时使用和修改此软件。 但是请注意,我不再主动维护此代码。...和&gt;类的非法字符 关闭未关闭的标签,试图遵守结构规则 修复标签重叠,例如&lt;i&gt; foo &lt;b&gt; bar &lt;/i&gt; boo 版权 版权所有2002-2004-RW van't Veer

    解决Invalid white space character (0x …… 文件下载后可直接使用

    NULL 博文链接:https://fish-bone.iteye.com/blog/1732229

    xmljava系统源码-AndroidFAQSolutions:Android开发各类常见错误解决方案(不断更新中)

    xml java系统源码 AndroidFAQSolutions(Android开发各类常见错误解决...非法字符: '\ufeff' 解决方案|错误: 需要class, interface或enum 原因: Eclipse可以智能的把UTF-8+BOM文件普通的UTF-8文件,Android Studio还没

    自动压缩备份30天、7天以前的日志文件到指定目录下,并将原文件删除。

    前提,日志是以日期格式命名的,可以和日期比较大小,其他情况需自行调整 ...sed -i 's/\r//' *.sh 脚本不能执行时,含有非法字符时,可以使用这个命令替换 chmod -R 755 * 授权 tar -zxvf *.tar.gz 解 tar -zcvf 压

    BLOG 博客系统源码下载

    3.增加了评论功能,对非法字符、非法网址采用相应的关键字库进行过滤。增加了图形验证码的限制功能。 4.在原有添加文章的基础上,增加了添加程序功能。自定义多个程序地址,由于大部分服务器不能提供下载服务,...

    Blogengile.NET[Appwo.com版]博客 v1.85改进版.rar

    3.增加了评论功能,对非法字符、非法网址采用相应的关键字库进行过滤。增加了图形验证码的限制功能。 4.在原有添加文章的基础上,增加了添加程序功能。自定义多个程序地址,由于大部分服务器不能提供下载服务,...

    正则表达式经典实例.pdf

    7.25 去除文件名中的非法字符 第8章 标记语言和数据交换 8.1 查找XML风格的标签 8.2 把标签b替换为strong 8.3 删掉除em和strong之外的所有XML风格标签 8.4 匹配XML名称 8.5 添加p和br标签将纯文本转换为HTML 8.6 在...

    正则表达式经典实例

    7.25 去除文件名中的非法字符 第8章 标记语言和数据交换 8.1 查找XML风格的标签 8.2 把标签b替换为strong 8.3 删掉除em和strong之外的所有XML风格标签 8.4 匹配XML名称 8.5 添加p和br标签将纯文本转换为HTML ...

    PHP程序开发范例宝典III

    让你短时间内由一名菜鸟到高手绝对没问题! 由于权限有限,分3部份...实例251 在查询中使用字符串函数 387 实例252 在查询中使用日期函数 388 8.19 having语句应用 390 实例253 利用having语句过滤分组数据 390 ...

Global site tag (gtag.js) - Google Analytics