一个特别特别棘手xml sax 解析问题

_Leo_ 发布于 2013/04/19 20:51
阅读 308
收藏 0

我在解析一个远程流过来的 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): 多
加载中
0
Ryan-瑞恩
Ryan-瑞恩
XML的格式是什么??
0
_Leo_
_Leo_
结贴,XML格式不正确,将网页下载下来以后用记事本打开中文就是#12311#12311#12311 之类的东西, 好像是unicode 无BOM格式的还是什么的。
返回顶部
顶部