本文介紹了有沒有辦法找出給定的URL是RSS提要還是使用Java的ATOM?的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我正在編寫一個RSS解析器。有沒有辦法使用Java找出給定的URL是RSS還是ATOM?
RSS
您可以使用ROME(我建議使用第一個)來解析推薦答案和Atom提要。或者,您必須使用SAX解析器或創建DOM樹并執行以下操作:
對于RSS:
在RSS中,您必須檢查是否有rss
元素,并且其子元素必須包含channel
元素。RSS中可以有0個或更多item
(我可能是錯的)。
示例:
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>RSS Title</title>
<description>This is an example of an RSS feed</description>
<link>http://www.someexamplerssdomain.com/main.html</link>
<lastBuildDate>Mon, 06 Sep 2010 00:01:00 +0000 </lastBuildDate>
<pubDate>Mon, 06 Sep 2009 16:45:00 +0000 </pubDate>
<item>
<title>Example entry</title>
<description>Here is some text containing an interesting description of the thing to be described.</description>
<link>http://www.wikipedia.org/</link>
<guid>unique string per item</guid>
<pubDate>Mon, 06 Sep 2009 16:45:00 +0000 </pubDate>
</item>
</channel>
</rss>
對于Atom:
在Atom中,您必須檢查是否有feed
元素。Atom中可以有0個或更多entry
。(我可能錯了)。
示例:
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Example Feed</title>
<subtitle>A subtitle.</subtitle>
<link rel="self" />
<link />
<id>urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6</id>
<updated>2003-12-13T18:30:02Z</updated>
<author>
<name>John Doe</name>
<email>johndoe@example.com</email>
</author>
<entry>
<title>Atom-Powered Robots Run Amok</title>
<link />
<link rel="alternate" type="text/html" />
<link rel="edit" />
<id>urn:uuid:1225c695-cfb8-4ebb-aaaa-80da344efa6a</id>
<updated>2003-12-13T18:30:02Z</updated>
<summary>Some text.</summary>
</entry>
</feed>
PS:我不知道您要實現哪個RSS版本或Atom版本,但請遵循它們的指導原則。
RSS
Atom
RSS 2.0 and Atom 1.0 compared
這篇關于有沒有辦法找出給定的URL是RSS提要還是使用Java的ATOM?的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,