2011-12-07 9 views
1

私はRSSフィードをROME v0.8(j2sdk1.4.2_07)を使用して解析しようとしていますが、どのフィードを使用しても同じエラーが表示されます。ROME 0.8構文解析の例外

com.sun.syndication.io.ParsingFeedException:無効なXML: ライン14上のエラー:要素型「メタ」を「マッチング 終了タグ」で終了する必要があります。

import java.net.URL; 

import com.sun.syndication.feed.synd.SyndFeed; 
import com.sun.syndication.io.SyndFeedInput; 
import com.sun.syndication.io.XmlReader; 

public class RssTest { 

    public static void main(String[] args) { 

    try { 

      System.out.println("starting..."); 
      URL feedUrl = new URL("http://www.abc.net.au/news/feed/51120/rss.xml"); 
      SyndFeedInput input = new SyndFeedInput(); 
      SyndFeed feed = input.build(new XmlReader(feedUrl)); 

      System.out.println("Feed Title: " + feed.getTitle()); 

     } catch (Exception ex) { 
      System.out.println("Error: " + ex.getMessage()); 
     } 
    }  
} 

答えて

2

あなたの例からURLは、XMLを整形し、それがローマで解析可能でなければなりませんので、任意のmetaのタグが含まれていないように見えます。終了していないmetaタグは、実際のフィードではなくHTMLページを返すようなものになります。特別なログインが必要なプロキシサーバーの背後にあるのでしょうか?

+0

感謝。私はプロキシサーバーの背後にあることが分かります。 –

0

利用InputSource代わりのXmlReader:あなたの答えジョーンため

HttpURLConnection connection = (HttpURLConnection)url.openConnection(); 
InputStream is = connection.getInputStream(); 
InputSource source = new InputSource(is); 
SyndFeedInput input = new SyndFeedInput(); 
feed = input.build(source);