0

我编写了一个网页,该网页从 RSS 接收 XML 文件并通过某些标签对其进行解析。我已经在我计划使用的数据的本地副本上对其进行了测试,它工作正常。问题是我无法弄清楚如何在不同的网页上调用 RSS 文件并解析其数据。

这是我设置解析器的代码:

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
    xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.open("GET", ".../NewsFeed.aspx?output=Atom", false);

这是我检查 RSS 页面时得到的 xml 文件的标题:

<?xml version="1.0" encoding="UTF-8" ?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom">
<title type="text"> News</title>
<subtitle type="text">A syndication of the most recently published news.</subtitle>

<id>uuid:64d61c8e-c5d7-4529-b5a3-2dcd4097238b;id=50</id>

<rights type="text">© 2013 <owner goes here>. All Rights Reserved.</rights>

<updated>2013-07-09T13:34:27Z</updated>

<link rel="alternate" href=".../Default.aspx" />
<link rel="self" href=".../NewsFeed.aspx" />

我编辑了链接以用于发布目的。我曾尝试使用 RSS 文档中列出的两个链接以及 open xml 方法中外部提要的 URL,但我没有运气。

 xmlhttp.open("GET", "link goes here", false);

有谁知道我将如何阅读 RSS 提要?作为旁注,提要是以 Atom 格式返回的标准 RSS 提要 (2.0)。

4

1 回答 1

0

初学者要检查两件事:

1) 您的 NewsFeed.aspx 需要托管在与调用它的页面完全相同的协议、子域、域和端口上。否则浏览器安全性会启动并阻止您使用 XHR。如果您尝试阅读第 3 方 RSS 提要,您可能需要使用代理。

2)响应的content-type header需要是text/xml。有一些方法可以解决这个问题,但如果内容类型准确则更好。

于 2013-07-18T19:25:11.167 回答