一个特别特别棘手xml sax 解析问题
我在解析一个远程流过来的 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): 多
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
结贴,XML格式不正确,将网页下载下来以后用记事本打开中文就是#12311#12311#12311 之类的东西, 好像是unicode 无BOM格式的还是什么的。
XML的格式是什么??