我在解析一个远程流过来的 xml进行解析,因为jdom sax他占用内存比较少,所以就选了他。
问题: 解析的xml中有中文的时候,他不是一次读取一行内容进行返回的,而是一次一个汉字进行返回的,我就郁闷了, 大神帮忙看下。非常感谢!
补充下:xml 文件保存在本地,然后使用FIleReader进行读取,中文是好的。
代码如下:
@Override public void characters(char[] ch, int begin, int length) throws SAXException { StringBuffer buffer = new StringBuffer(); for(int i = begin ; i < begin+length ; i++){ switch(ch[i]){ case '\\':buffer.append("\\\\");break; case '\r':buffer.append("\\r");break; case '\n':buffer.append("\\n");break; case '\t':buffer.append("\\t");break; case '\"':buffer.append("\\\"");break; default : buffer.append(ch[i]); } } System.out.println(this.toBlankString(this.frontBlankCount)+ ">>> characters("+length+"): "+buffer.toString()); }
输出片段:
>>> characters(1): 不 >>> characters(1): 少 >>> characters(1): 渠 >>> characters(1): 道 >>> characters(1): 推 >>> characters(1): 广 >>> characters(1): 的 >>> characters(1): 力 >>> characters(1): 气 >>> characters(1): , >>> characters(1): 阿 >>> characters(1): 里 >>> characters(1): 云 >>> characters(1): 能 >>> characters(1): 帮 >>> characters(1): 助 >>> characters(1): 更 >>> characters(1): 多
XML的格式是什么??######结贴,XML格式不正确,将网页下载下来以后用记事本打开中文就是#12311#12311#12311 之类的东西, 好像是unicode 无BOM格式的还是什么的。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。