Java 需要修复RSS提要解析的想法吗

Java 需要修复RSS提要解析的想法吗,java,android,rss,sax,Java,Android,Rss,Sax,我在这里使用代码,特别是AndroidSaxParser。问题是,我得到的消息对象的所有4个部分都与标题相同。我已经一遍又一遍地梳理了一遍,但我没有发现我拼凑的东西有任何错误。 你知道去哪里找吗 代码如下: public class AndroidSaxFeedParser extends BaseFeedParser { public AndroidSaxFeedParser(String feedUrl) { super(feedUrl); } public List<Mes

我在这里使用代码,特别是AndroidSaxParser。问题是,我得到的消息对象的所有4个部分都与标题相同。我已经一遍又一遍地梳理了一遍,但我没有发现我拼凑的东西有任何错误。 你知道去哪里找吗

代码如下:

public class AndroidSaxFeedParser extends BaseFeedParser {

public AndroidSaxFeedParser(String feedUrl) {
    super(feedUrl);
}
public List<Message> parse() {
    final Message currentMessage = new Message();
    RootElement root = new RootElement("rss");
    final List<Message> messages = new ArrayList<Message>();
    Element channel = root.getChild("channel");
    Element item = channel.getChild(ITEM);
    item.setEndElementListener(new EndElementListener(){
        public void end() {
            messages.add(currentMessage.copy());
        }
    });
    item.getChild(TITLE).setEndTextElementListener(new EndTextElementListener(){
        public void end(String body) {
            currentMessage.setTitle(body);
        }
    });
    item.getChild(LINK).setEndTextElementListener(new EndTextElementListener(){
        public void end(String body) {
            currentMessage.setLink(body);
        }
    });
    item.getChild(DESCRIPTION).setEndTextElementListener(new EndTextElementListener(){
        public void end(String body) {
            currentMessage.setDescription(body);
        }
    });
    item.getChild(PUB_DATE).setEndTextElementListener(new EndTextElementListener(){
        public void end(String body) {
            currentMessage.setDate(body);
        }
    });
    try {
        Xml.parse(this.getInputStream(), Xml.Encoding.UTF_8, root.getContentHandler());
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
    return messages;
}
}

// names of the XML tags
static final String PUB_DATE = "pubDate";
static final  String DESCRIPTION = "description";
static final  String LINK = "link";
static final  String TITLE = "title";
static final  String ITEM = "item";
static final String CHANNEL = "channel";

final URL feedUrl;

protected BaseFeedParser(String feedUrl){
    try {
        this.feedUrl = new URL(feedUrl);
    } catch (MalformedURLException e) {
        throw new RuntimeException(e);
    }
}

protected InputStream getInputStream() {
    try {
        return feedUrl.openConnection().getInputStream();
    } catch (IOException e) {
        throw new RuntimeException(e);
    }
}