萨克斯解析和编码

我的联系人在解析RSS和Atom文件时遇到SAX问题。根据他的说法,好像来自Item元素的文本被截断为撇号或有时是带重音的字符。编码似乎也有问题。

我尝试了SAX,但也进行了一些删节操作,但无法进一步挖掘。如果有人曾经解决过这个问题,我将不胜感激。

这是ContentHandler中使用的代码:

public void characters( char[], int start, int end ) throws SAXException {

//

link = new String(ch, start, end);

编辑:编码问题可能是由于将信息存储在字节数组中,因为我知道Java在Unicode中工作。

回答:

不能保证character()方法可以一次性为您提供文本元素的完整字符内容-全文可能跨越缓冲区边界。您需要自己在开始和结束元素事件之间缓冲字符。

例如

StringBuilder builder;

public void startElement(String uri, String localName, String qName, Attributes atts) {

builder = new StringBuilder();

}

public void characters(char[] ch, int start, int length) {

builder.append(ch,start,length);

}

public void endElement(String uri, String localName, String qName) {

String theFullText = builder.toString();

}

以上是 萨克斯解析和编码 的全部内容, 来源链接: utcz.com/qa/419010.html

回到顶部