2008-10-14 10 views
3

Y a-t-il une URL pour StackOverflow que je peux utiliser sur la page d'accueil VS à la place de la page MS jamais mise à jour? L'URL utilisée par VS peut être définie dans la boîte de dialogue Outils-> Options :: Démarrage.Flux atomique StackOverflow à utiliser avec VS2008 Page de démarrage

J'ai essayé https://stackoverflow.com/feeds plaintes VS avec l'erreur suivante:

The current news channel might not be a valid RSS feed, or your internet connection might be unavailable. To change the news channel, on the Tools menu, click Options, then expand Environment and click Startup.

+0

Peut-être que votre Internet est en panne. Heh, n'a pas pu résister. –

+0

Je pense que le principal problème est la différence entre un "flux" et rss. RSS est un type de flux, avec atom et rdf (pour les populaires). La plupart des lecteurs de flux acceptent plusieurs types de flux. Le flux fourni par SO est ATOM et je ne pense pas que VS supporte autre chose que RSS. –

Répondre

2

Il semble que https://stackoverflow.com/feeds est en fait un flux d'atomes et non pas rss, donc c'est probablement d'où provient le problème de VS.

Vous devrez peut-être créer un intermédiaire et transformer l'atome en rss.

+0

Cela ne fonctionnera pas nécessairement - voir ma réponse. –

+0

@Luke - Il est tout à fait possible que vous ne puissiez pas utiliser une solution existante et faites confiance à sa traduction pour générer un RSS compatible VS valide. Cependant, je pense que la création d'un fichier XSLT personnalisé et la génération de flux RSS bien formés feraient l'affaire si une solution pré-construite ne fonctionnait pas. –

0

Essayer le flux RSS de la page principale: https://stackoverflow.com/feeds

Modifier: Whoops, les commentaires soulignent à juste titre, semble que ce soit un flux ATOM pas un flux RSS, je devrais avoir vérifiés une deuxième fois avant de poster! J'ai essayé d'exécuter le flux via FeedBurner pour le convertir en RSS mais VS ne l'aime toujours pas. La chose étrange est, quand j'ai sauvé la sortie de FeedBurner comme un fichier XML statique et servi localement, VS n'avait aucun problème!

J'ai joué avec cela pendant un certain temps maintenant et ne peux pas trouver une solution de contournement. Je ne sais pas exactement ce que VS n'aime pas (vraisemblablement quelque chose en rapport avec l'en-tête), mais je suppose que la seule façon de fonctionner est que les développeurs mettent en œuvre quelque chose à leur fin ou que quelqu'un rédige un proxy.

Modifier à nouveau: Il se peut qu'il soit lié au codage. Hmmm ...

+0

Quelque chose dans le flux ou la page de VS ne l'affiche pas correctement. – Wayne

+0

En regardant la source du flux, c'est bien Atom. (Qui est en fait supérieur à RSS, donc j'ai entendu.) En outre, le validateur W3C Markup dit que le flux est totalement correct. VS2008 est peut-être incapable de montrer Atom? (BTW: Beaucoup de lecteurs disent juste qu'ils utilisent RSS, mais peuvent aussi lire Atom.) – hangy

2

Voici mon moins cette solution élégante au problème ..

Vous aurez besoin d'accéder à un serveur php.

L'alimentation doit être adapté pour permettre la RSS de l'atome, et il y a une feuille de style xsl vraiment bien ici qui correspond à la facture: http://atom.geekhood.net/, plus précisément: http://atom.geekhood.net/atom2rss.xsl

Il y a un élément dans l'alimentation que VS semble ne pas comme:

<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" /> 

pour contourner ce problème, aller à la fin de la feuille de style et de commenter la copie suivante comme je l'ai fait:

<!-- 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> 

Maintenant, créez un fichier php sur votre serveur php avec le contenu suivant:

<?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; 

?> 

maintenant déplacer le fichier atom2rss.xsl au même répertoire que le fichier php créé ..

Maintenant VS vous pouvez ajouter la nouvelle url StarPage comme:

http://yourserver.com/file.php?http://stackoverflow/feeds

yourserver.com est votre domaine et file.php est le fichier avec le contenu de php d'en haut. ..

Ensuite, vous devriez être en mesure de profiter du flux RSS de Stackoverflow.com en vous la page de démarrage dans Visual studio, qui est bien sûr si vous êtes dans ce genre de chose ..

Cela suppose que vous utilisez PHP5 et avez la php_curl.dll et php_xsl.dll activé sur le serveur ..

Profitez

Questions connexes