在通过罗马解析RSS feed时,不允许在prolog中获取内容 [英] While parsing RSS feed through Rome getting Content is not allowed in prolog

查看:500
本文介绍了在通过罗马解析RSS feed时,不允许在prolog中获取内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用罗马API来解析RSS Feed我收到此错误:

  com.sun.syndication.io.ParsingFeedException :com.sun.syndication.io.WireFeedInput.build中的XML 
无效(WireFeedInput.java:210)

代码如下:

  public static void main(String [] args){
网址url;
XmlReader reader = null;
SyndFeed feed;

try {
url = new URL(https://www.democracynow.org/podcast.xml);
reader = new XmlReader(url);
feed = new SyndFeedInput()。build(reader);
for(Iterator< SyndEntry> i = feed.getEntries()。iterator(); i.hasNext();){
SyndEntry entry = i.next();
System.out.println(entry.getPublishedDate()+Title+ entry.getTitle());

}
}
catch(Exception e){
e.printStackTrace();
}
}

我检查了一些链接, p>

http://old.nabble.com/Invalid-XML:-Error-on-line-1:-Content-is-not-allowed-in-prolog 。-td21258868.html



问题可能来自于字符集,但我无法想出一种方法来实现。



Vaibhav Goswami

/ p>

解决方案

我也使用Syndication,我可以得到发布的日期和标题。



我的代码如下:

  URL feedUrl = new URL(http://www.bloomberg .com / tvradio / podcast / cat_markets.xml); 

SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = input.build(new XmlReader(feedUrl));

for(Iterator i = feed.getEntries()。iterator(); i.hasNext();)
{
SyndEntry entry =(SyndEntry)i.next ;
System.out.println(title |+ entry.getTitle()+-timeStamp+ entry.getPublishedDate()\\\

}

这是有效的,我使用了Bloomberg Url,因为它给我一个XML。



如果您的查询是别的,请告诉我:)


Using Rome API to parse the RSS feeds I am getting this error :

com.sun.syndication.io.ParsingFeedException: Invalid XML
    at com.sun.syndication.io.WireFeedInput.build(WireFeedInput.java:210)

The code is as below:

public static void main(String[] args) {
    URL url;
    XmlReader reader = null;
    SyndFeed feed; 

    try {
        url = new URL("https://www.democracynow.org/podcast.xml");
        reader = new XmlReader(url);
        feed = new SyndFeedInput().build(reader);
        for (Iterator<SyndEntry> i =feed.getEntries().iterator(); i.hasNext();) {
            SyndEntry entry = i.next();
            System.out.println(entry.getPublishedDate()+" Title  "+entry.getTitle());

        }
    }
    catch (Exception e) {
        e.printStackTrace();
    }
}

I checked for some of the links like :

http://old.nabble.com/Invalid-XML:-Error-on-line-1:-Content-is-not-allowed-in-prolog.-td21258868.html

Where the problem is presumably is of charsets but I could not figure a way to get this implemented. Any help or guidance would be highly appreciative.

Thanks and Regards,

Vaibhav Goswami

解决方案

I am using Syndication as well and i am able to get published date and title.

My code is as follows:

URL feedUrl = new URL("http://www.bloomberg.com/tvradio/podcast/cat_markets.xml");

SyndFeedInput input = new SyndFeedInput();
SyndFeed feed = input.build(new XmlReader(feedUrl));

for (Iterator i = feed.getEntries().iterator(); i.hasNext();)
{
SyndEntry entry = (SyndEntry) i.next();
System.out.println("title |"+entry.getTitle()+"   " -timeStamp "+entry.getPublishedDate()"\n")
}

This works , and i have used Bloomberg Url just cause it gives me a XML.

If your query was something else , do let me know :)

这篇关于在通过罗马解析RSS feed时,不允许在prolog中获取内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆