在 CDATA 节中找到无效的 XML 字符 (Unicode: 0x1f)
2016-12-27 15:16
260 查看
在 CDATA 节中找到无效的 XML 字符 (Unicode: 0x1f)
解析XML文件时,会碰到程序发生以下一些异常信息: 在 CDATA 节中找到无效的 XML 字符 (Unicode: 0x1f)。
或者:
An invalid XML character (Unicode: 0x1f) was found in the CDATA section.
这些错误的发生是由于一些不可见的特殊字符的存在,而这些字符对于XML文件来说又是非法的,所以XML解析器在解析时会发生异常,官方定义了XML的无效字符分为三段:
0x00 - 0x08
0x0b - 0x0c
0x0e - 0x1f
解决方法是:在解析之前先把字符串中的这些非法字符过滤掉即可, 不会影响原来文本的内容。
即:string.replaceAll("[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f]", "") ;
另外:这些字符即使放在CDATA中仍然解析不了,所以最好的办法是过滤掉。
相关文章推荐
- org.xml.sax.SAXParseException; lineNumber: 456; columnNumber: 67; 在 CDATA 节中找到无效的 XML 字符 (Unicode: 0
- SAX Xml->SAXParseException在文档的元素内容中找到无效的 XML 字符 (Unicode: 0x10)
- 获取xml时,出现“(十六进制值 0x1F)是无效的字符之类Xml异常的解决办法
- 获取xml时,出现“(十六进制值 0x1F)是无效的字符之类Xml异常的解决办法
- 解析XML文件时,无效的XML 字符 (Unicode: 0x7)异常处理
- asp.net webapi 序列化为xml 时实体属性增加<![CDATA[]]>防止特殊字符
- XML无效字符过滤
- hexadecimal value 0x0C, is an invalid character-如何去除XML无效字符
- Ds.ReadXML() xmlDocument.Load 十六进制值 0x0B 是无效的字符错误
- 系统标准XML报表报:无效字符错误
- C#过滤XML(十六进制值 0x1D)无效的字符
- SVN版本冲突中 Files 的值“ < < < < < < < .mine”无效路径中具有非法字符的解决办法: 1、把源代码中所有页面中的非法字符删掉。根据错误提示的页面来找到非法字符,然
- System.Xml.XmlException: 给定编码中的字符无效。 第 XX 行,位置 YY。
- 采用SmtpClient方式发送邮件,如果服务器的名字中有中文,会报"在邮件标头中找到无效的字符”"错误
- 有时候看.neter的表现,真的很奇怪。那种近在眼前而不见的茫然,真的让你为之着急——说说XML的无效字符
- xml CDATA区、特殊字符:<= 小于等于、>= 大于等于
- smtp发送邮件失败-邮件标头找到无效字符
- XML 十六进制值 0x0B 是无效的字符错误处理方法
- XML 十六进制值 是无效的字符错误 解决方法之一
- XML序列化成功反序列化失败以及xml 十六进制值 0x0E)是无效的字符