我必须在 Salesforce 平台上创建一个 RSS 阅读器。我阅读了 RSS 1.0 和 2.0 的规范。
在 RSS 2.0 中,本文档中指定的格式http://feed2.w3.org/docs/rss2.html,其中没有像扩展一样的东西,没有我们在 RSS 1.0 中看到的模块和命名空间,我们在其中定义XML 即使在channel
项目关闭之后。例如,在这个链接http://static.userland.com/gems/backend/rssTwoExample2.xml上面只有一个 RSS 父元素channel
,但是当我们以 RSS 1.0 为例时,它包含很多兄弟元素,如这个例子。
<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns="http://purl.org/rss/1.0/"
>
<channel rdf:about="http://www.xml.com/xml/news.rss">
<title>XML.com</title>
<link>http://xml.com/pub</link>
<description>
XML.com features a rich mix of information and services
for the XML community.
</description>
<image rdf:resource="http://xml.com/universal/images/xml_tiny.gif" />
<items>
<rdf:Seq>
<rdf:li resource="http://xml.com/pub/2000/08/09/xslt/xslt.html" />
<rdf:li resource="http://xml.com/pub/2000/08/09/rdfdb/index.html" />
</rdf:Seq>
</items>
</channel>
<image rdf:about="http://xml.com/universal/images/xml_tiny.gif">
<title>XML.com</title>
<link>http://www.xml.com</link>
<url>http://xml.com/universal/images/xml_tiny.gif</url>
</image>
<item rdf:about="http://xml.com/pub/2000/08/09/xslt/xslt.html">
<title>Processing Inclusions with XSLT</title>
<link>http://xml.com/pub/2000/08/09/xslt/xslt.html</link>
<description>
Processing document inclusions with general XML tools can be
problematic. This article proposes a way of preserving inclusion
information through SAX-based processing.
</description>
</item>
<item rdf:about="http://xml.com/pub/2000/08/09/rdfdb/index.html">
<title>Putting RDF to Work</title>
<link>http://xml.com/pub/2000/08/09/rdfdb/index.html</link>
<description>
Tool and API support for the Resource Description Framework
is slowly coming of age. Edd Dumbill takes a look at RDFDB,
one of the most exciting new RDF toolkits.
</description>
</item>
</rdf:RDF>
对于创建处理核心部分的标准解析器,很容易获得每个项目的描述和链接。但是当我们在任何元素中谈论 RSS 1.0 时,当我们看到元素中的任何rdf:resource
属性时,我们必须在元素rdf:about
的兄弟姐妹中找到该属性,channel
并在其中找到它的描述和链接。
请提供有关如何解析 RSS 1.0 以获取提要中每个项目的描述和链接的指南。还是我的假设正确?