我可以在 VS 起始页上使用 StackOverflow 的 URL 来代替从未更新的 MS 页面吗?VS 使用的 URL 可以在 Tools->Options::Startup 对话框中设置。
我已经尝试过https://stackoverflow.com/feeds VS 投诉,但出现以下错误:
当前新闻频道可能不是有效的 RSS 提要,或者您的 Internet 连接可能不可用。要更改新闻频道,请在工具菜单上单击选项,然后展开环境并单击启动。
我可以在 VS 起始页上使用 StackOverflow 的 URL 来代替从未更新的 MS 页面吗?VS 使用的 URL 可以在 Tools->Options::Startup 对话框中设置。
我已经尝试过https://stackoverflow.com/feeds VS 投诉,但出现以下错误:
当前新闻频道可能不是有效的 RSS 提要,或者您的 Internet 连接可能不可用。要更改新闻频道,请在工具菜单上单击选项,然后展开环境并单击启动。
https://stackoverflow.com/tags/vs2008是我会选择的 - 将 vs2k8 的相关问题放在首位
编辑- 我不知道为什么这被否决了 - 该 URL 对 SO 有效。
如果您正在寻找特定的标签供稿,您可以获取类似https://stackoverflow.com/feeds/tag/vs2008的内容。
看来https://stackoverflow.com/feeds实际上是一个原子提要,而不是 rss,所以这可能是 VS 问题的来源。
您可能必须创建一个中介并将原子转换为 rss。
这是我对问题的不太优雅的解决方案..
您将需要访问 php 服务器。
提要需要从 atom 转换为 RSS,这里有一个非常好的 xsl 样式表可以满足要求:http: //atom.geekhood.net/,特别是: http: //atom.geekhood.net/atom2rss。 xsl
提要中有一个 VS 似乎不喜欢的元素:
<link xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" rel="replies" type="application/atom+xml" href="http://stackoverflow.com/feeds/question/204696/answers" thr:count="5" />
要解决这个问题,请转到样式表的末尾并像我一样注释掉以下副本:
<!-- copy extensions -->
<x:template match='*'>
<x:comment>Unknown element <x:value-of select="local-name(.)"/></x:comment>
<!--
<x:copy>
<x:copy-of select='node()|@*'/>
</x:copy>
-->
</x:template>
现在在您的 php 服务器上创建一个包含以下内容的 php 文件:
<?php
$url=$_GET['url'];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$content = curl_exec($ch);
curl_close($ch);
$chan = new DOMDocument();
$chan->loadXML($content);
$sheet = new DOMDocument();
$sheet->load('atom2rss.xsl');
$processor = new XSLTProcessor();
$processor->registerPHPFunctions();
$processor->importStylesheet($sheet);
$result = $processor->transformToXML($chan);
echo $result;
?>
现在将 atom2rss.xsl 文件移动到与您创建的 php 文件相同的目录中。
现在在 VS 中,您可以将新的 starpage url 添加为:
http://yourserver.com/file.php?http://stackoverflow/feeds
其中yourserver.com是您的域,而file.php是上面包含 php 内容的文件...
然后,您应该能够在 Visual Studio 的起始页面中享受来自 Stackoverflow.com 的 RSS 提要,当然,如果您喜欢那种东西的话。
这假设您正在运行 PHP5 并在服务器上启用了 php_curl.dll 和 php_xsl.dll。
享受
尝试主页的 RSS 提要:https ://stackoverflow.com/feeds
编辑:哎呀,正如评论正确指出的那样,看起来它是 ATOM 提要而不是 RSS 提要,我应该在发布之前仔细检查!我尝试通过 FeedBurner 运行提要以将其转换为 RSS,但 VS 仍然不喜欢它。奇怪的是,当我将 FeedBurner 提要输出保存为静态 XML 文件并在本地提供时,VS 没有问题!
我已经玩了一段时间了,无法找到解决方法。我不确切知道 VS 不喜欢什么(大概是与标头相关的东西),但我猜这可能起作用的唯一方法是,如果 SO 人在他们的最后实现了一些东西,或者有人写了一个代理。
再次编辑:它实际上可能与编码有关。嗯……