关于 Exception: An invalid XML character (Unicode: 0x0) was found
来源:互联网 发布:g92车锥螺纹编程实例 编辑:程序博客网 时间:2024/05/30 19:33
About Exception:
An invalid XML character (Unicode: 0x0) was found in the element content of the document.
问题描述:
当我们用
byte[] info ;
DocumentHelper.parseText(new String(info));
将一个字节数组转成字符串再转成Document(XML格式)时,常常会遇到上述异常。
特别是当字符串有加、解密,或编码等情况时。
原因:
从异常来看,很明显是因为字节数组中存在 Unicode: 0x0,而这个字节在Xml中被认为是非法字符。
对于一些经过编码或加、解密的字符串中,很容易会出现这个 0x0,
特别是在加、解密中,经常会涉及到字符填充,而填充物通常是 0x0,
需对于0x00-0x20 都会引起一定的问题,又因为这些字符不可见,因此用通常的编辑器进行编辑的时候找不到问题所在。
而在转成String后也觉察不到任何异常。
所以在转成XML格式时要对字符串进行检测:
* Verify that no character has a hex value greater than 0xFFFD, or less than 0x20.
* Check that the character is not equal to the tab ("t), the newline ("n), the carriage return ("r), or is an invalid XML character below the range of 0x20. If any of these characters occur, an exception is thrown.
pubic void CheckUnicodeString(String value)
{
for (int i=0; i < value.Length; ++i) {
if (value[i] > 0xFFFD)
{
throw new Exception("Invalid Unicode");//或者直接替换掉0x0 value[i]='"n';
}
else if (value[i] < 0x20 && value[i] != '"t' & value[i] != '"n' & value[i] != '"r')
{
throw new Exception("Invalid Xml Characters");//或者直接替换掉0x0 value[i]='"n';
}
}
相关资源:
http://msdn.microsoft.com/en-us/library/k1y7hyy9.aspx
http://gceclub.sun.com.cn/developer/technicalArticles/Intl/Supplementary/index_zh_CN.html
An invalid XML character (Unicode: 0x0) was found in the element content of the document.
问题描述:
当我们用
byte[] info ;
DocumentHelper.parseText(new String(info));
将一个字节数组转成字符串再转成Document(XML格式)时,常常会遇到上述异常。
特别是当字符串有加、解密,或编码等情况时。
原因:
从异常来看,很明显是因为字节数组中存在 Unicode: 0x0,而这个字节在Xml中被认为是非法字符。
对于一些经过编码或加、解密的字符串中,很容易会出现这个 0x0,
特别是在加、解密中,经常会涉及到字符填充,而填充物通常是 0x0,
需对于0x00-0x20 都会引起一定的问题,又因为这些字符不可见,因此用通常的编辑器进行编辑的时候找不到问题所在。
而在转成String后也觉察不到任何异常。
所以在转成XML格式时要对字符串进行检测:
* Verify that no character has a hex value greater than 0xFFFD, or less than 0x20.
* Check that the character is not equal to the tab ("t), the newline ("n), the carriage return ("r), or is an invalid XML character below the range of 0x20. If any of these characters occur, an exception is thrown.
pubic void CheckUnicodeString(String value)
{
for (int i=0; i < value.Length; ++i) {
if (value[i] > 0xFFFD)
{
throw new Exception("Invalid Unicode");//或者直接替换掉0x0 value[i]='"n';
}
else if (value[i] < 0x20 && value[i] != '"t' & value[i] != '"n' & value[i] != '"r')
{
throw new Exception("Invalid Xml Characters");//或者直接替换掉0x0 value[i]='"n';
}
}
相关资源:
http://msdn.microsoft.com/en-us/library/k1y7hyy9.aspx
http://gceclub.sun.com.cn/developer/technicalArticles/Intl/Supplementary/index_zh_CN.html
阅读全文
0 0
- 关于 Exception: An invalid XML character (Unicode: 0x0) was found
- 关于 Exception: An invalid XML character (Unicode: 0x0) was found
- org.xml.sax.SAXParseException: An invalid XML character (Unicode: 0x0) was found in the CDATA sectio
- XML解析出现An invalid XML character (Unicode: 0x**) was found in the comment.
- XML解析出现An invalid XML character (Unicode: 0x**) was found in the comment.
- XML解析出现An invalid XML character (Unicode: 0x**) was found in the comment.
- XML解析出现An invalid XML character (Unicode: 0x**) was found in the comment.
- Error parsing XML: An invalid XML character (Unicode:0x1f) was found
- XML解析出现An invalid XML character (Unicode: 0x**) was found in the comment.
- All About JAVA An invalid XML character (Unicode: 0xdd65) was found in the comment 错误
- OpenCms中FCKEditor保存内容时invalid XML character (Unicode: 0x0)错误解决办法
- OpenCms中FCKEditor保存内容时invalid XML character (Unicode: 0x0)错误解决办法
- OpenCms中FCKEditor保存内容时invalid XML character (Unicode: 0x0)错误解决办法
- OpenCms中FCKEditor保存内容时invalid XML character (Unicode: 0x0)错误解决办法
- OpenCms中FCKEditor保存内容时invalid XML character (Unicode: 0x0)错误解决办法
- 解决OpenCMS新闻保存invalid XML character (Unicode: 0x0)错误
- 对XML 进行 parse 时的Invalid Unicode character (0x0) 分析
- 对XML 进行 parse 时的Invalid Unicode character (0x0) 分析 2007
- static关键字注意事项_对"静态只能访问静态"的理解_(注意指的是一个类中)
- 关于 小米华为手机 不能正确安装游戏包的问题
- 服务器的种类
- Python读取excel
- zk 笔记
- 关于 Exception: An invalid XML character (Unicode: 0x0) was found
- POJ 1006--Biorhythms
- http://blog.csdn.net/pk.html?id=9581
- linux知识点总结3
- XML解析出现An invalid XML character (Unicode: 0x**) was found in the comment.
- 重拾C语言-空指针
- Windows 常用软件备忘
- 每日vim系列0716
- POJ 1007-DNA Sorting