在页面上找到的RSS提要被视为无效,但显示在嵌入的段中

时间:2012-04-19 05:51:19

标签: xml rss

我想抓住RSS Feed of a website with an embedded segment,但却没有。在使用了脾气数据之后,我发现XML导致了一个但是没有验证的源。我测试了返回以下内容的validity of the feed

  

看起来这是一个网页,而不是一个Feed。我查找了与此页面关联的Feed,但找不到。请输入要验证的Feed地址。

查看at the source code of this XML(已被删除,截断如下),它似乎不是HTML页面:

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:bt="http://example.com/2009/atom_extensions">
  <title>IDUG DB2 Tech Channel</title>
  <id>tag:example.com,2012:channel:7637</id>
  <bt:description>Desciption</bt:description>
  <subtitle>Joint DB2 Tech Talk series sponsored by IDUG with IBM</subtitle>
  <updated>2012-04-18T16:53:39Z</updated>
  <link href="http://www.example.org" rel="alternate" type="text/html"/>
  <link href="http://www.example.com/channel/7637/feed" rel="self" type="application/atom+xml"/>
  <entry>
    <id>tag:example.com,2012:communication:47115</id>
    <title>DB2 Tech Talk: Oracle Database and PL/SQL Compatibility Features of DB2 10</title>
    <updated>2012-05-31T16:30:00Z</updated>
    <summary>blah blah</summary>
    <author>
      <name>Serge Rielau</name>
    </author>
    <bt:communication id="47115"/>
    <bt:channel id="7637"/>
    <bt:status>upcoming</bt:status>
    <bt:format>audio</bt:format>
    <bt:duration>5400</bt:duration>
    <bt:start>1338481800</bt:start>
    <bt:entryTime>1338481500</bt:entryTime>
    <bt:closeTime>1338487500</bt:closeTime>
    <bt:rating>0</bt:rating>
    <link href="http://www.example.org?commid=47115" rel="alternate" type="text/html"/>
    <link href="http://www.example.com/communication/47115/tn1_1.png" rel="enclosure" type="image/png" title="thumbnail"/>
    <link href="http://www.example.com/communication/47115/slide1_001.png" rel="related" type="image/png" title="preview"/>
    <link href="http://www.example.com/communication/47115/calendar/ics" rel="related" type="text/calendar" title="calendar"/>
    <category scheme="keyword" term="DB2"/>
    <category scheme="keyword" term="Oracle"/>
    <category scheme="keyword" term="Database"/>
    <category scheme="keyword" term="PL/SQL"/>
    <category scheme="keyword" term="compatibility"/>
    <category scheme="keyword" term="SQL"/>
  </entry>
  ...
</feed>

为什么这不是有效的RSS Feed? http://www.idug-db2.com/的页面是否有我可以使用的RSS源?

1 个答案:

答案 0 :(得分:0)

RSS是一种XML,它有自己定义的元素集,必须出现才能使其有效。

  

RSS is a dialect of XML。所有RSS文件必须符合万维网联盟(W3C)网站上发布的XML 1.0规范。

这就像有翅膀的精灵和矿工矮人是人形生物一样,但它们的构造并不相同。你有同样的事情。它是一个有效的XML源,网站能够在嵌入的部分中进行消化和消化。

但它不是一个有效的RSS源,因为它没有必要的元素,也没有添加其他不符合RSS规范的元素。

如果您有一个可以根据需要解释XML源代码的解析器,或者您可以编写自己的类/方法,那么您正在查看的那个将执行。正如示例站点所做的那样。

不是那些希望以规格定义的格式获得RSS的读者或解析器。