XmlReader在所有场合都返回null

时间:2015-05-28 07:51:54

标签: java xml-parsing activemq xmlreader

我有一个代码,用于从活动mq获取数据并在Rss提要上显示数据,但是代码没有给我关于提要的数据,我得到一个空列表,原因似乎是XmlReader reader = null ;我已经设置了这条线,并且整个执行期间reder似乎为null。

public List<RssFeedMessage> readRssFeeds(@PathVariable String sourceName) {
    XmlReader reader = null;
    RssFeedMessage rssFeedMessage = null;
    StringBuffer feedUrl = new StringBuffer("http://").append(ipaddress).append(":")
            .append(port).append("/admin/queueBrowse/").append(sourceName).append("?view=rss&feedType=rss_2.0");
    List<RssFeedMessage> rssFeedMessages = new ArrayList<RssFeedMessage>();
    try {
        URL url = new URL(feedUrl.toString());
        reader = new XmlReader(url);
        SyndFeed feedMsg = new SyndFeedInput().build(reader);
        List<SyndEntry> feedEntries = feedMsg.getEntries();
        for (SyndEntry entry : feedEntries) {
            rssFeedMessage = new RssFeedMessage();
            rssFeedMessage.setTitle(entry.getTitle());
            rssFeedMessage.setDescription(entry.getDescription().getValue());
            rssFeedMessage.setDate(OptimerUtil.simpleDateHourTimeInd.format(entry.getPublishedDate()));

            rssFeedMessages.add(rssFeedMessage);
        }
    } catch(IOException e){
        e.printStackTrace();
    } catch (IllegalArgumentException e) {
        e.printStackTrace();
    } catch (FeedException e) {
        e.printStackTrace();
    } finally {
        if (reader != null) {
            try {
                reader.close();
            } catch (IOException e) {
            }
        }
    }

    return rssFeedMessages;
}
}

它只是退出coz阅读器仍然是空的,我在阅读器上获得io异常=新的XmlReader(url);

enter image description here

1 个答案:

答案 0 :(得分:0)

检查feedUrl

行中URL url = new URL(feedUrl.toString());包含的内容

字符串可能存在问题。 此外,在解析之前,让您管理像String等于null或无法访问的条件