2009-02-12 9 views
2

À partir d'une ligne de commande Windows, j'aimerais pouvoir publier un flux RSS. Je visualise quelque chose comme ceci:Publier sur RSS à partir de la ligne de commande

rsspub @builds "Build completed without errors." 

Ensuite, quelqu'un pourrait aller à mon ordinateur:

http://xp64-Matt:9090/builds/rss.xml

Et il y aurait une nouvelle entrée avec la date et l'heure et le texte simple, "Construire terminé sans erreurs." Je voudrais que le flux lui-même s'exécute sur un port différent, donc je ne me bats pas avec IIS ou Apache, ou tout ce dont j'ai besoin pour fonctionner sur mon ordinateur au jour le jour.

Est-ce que quelque chose comme ça existe?

Répondre

3

est ici simple .Net 3.5 programme C# qui va créer un fichier XML de RSS que vous pouvez stocker dans votre IIS Webroot:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Xml; 
using System.IO; 

namespace CommandLineRSS 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      var file = args[ 0 ]; 
      var newEntry = args[ 1 ]; 

      var xml = new XmlDocument(); 

      if (File.Exists(file)) 
       xml.Load(file); 
      else 
       xml.LoadXml(@"<rss version='2.0'><channel /></rss>"); 

      var xmlNewEntry = Create((XmlElement)xml.SelectSingleNode("/rss/channel"), "item"); 
      Create(xmlNewEntry, "title").InnerText = newEntry; 
      Create(xmlNewEntry, "pubDate").InnerText = DateTime.Now.ToString("R"); 

      xml.Save(file); 
     } 

     private static XmlElement Create(XmlElement parent, string tag) 
     { 
      var a = parent.OwnerDocument.CreateElement(tag); 
      parent.AppendChild(a); 
      return a; 
     } 
    } 
} 

Ensuite, vous pouvez l'appeler comme ceci:

CommandLineRSS.exe c:\inetpub\wwwroot\builds.xml "Build completed with errors."