从命令行发布到RSS

时间:2009-02-12 16:44:06

标签: rss development-environment build-environment

从Windows命令行,我希望能够发布到RSS源。我想象出这样的事情:

rsspub @builds "Build completed without errors."

然后,有人可以去我的电脑:

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

并且会有一个新条目,其中包含日期和时间以及简单文本“构建完成且没有错误。”

我希望Feed本身可以在不同的端口上运行,因此我不会与IIS或Apache作斗争,或者我需要在我的计算机上运行日常的其他任何东西。

这样的事情是否存在?

1 个答案:

答案 0 :(得分:3)

这是一个简单的.Net 3.5 C#程序,它将创建一个RSS XML文件,您可以将其存储在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;
        }
    }
}

然后你可以这样称呼它:

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