RSS接触 - 实战RSS文档输出

演示RSS文档输出的例子:

 

 

  XmlDocument domDoc = new XmlDocument();



        XmlDeclaration nodeDeclar = domDoc.CreateXmlDeclaration("1.0", System.Text.Encoding.UTF8.BodyName, "yes");



        domDoc.AppendChild(nodeDeclar);



        //如果rss有样式表文件的话,加上这两句



        XmlProcessingInstruction nodeStylesheet = domDoc.CreateProcessingInstruction("xml-stylesheet", "type=\"text/css\" href=\"rss.css\"");



        domDoc.AppendChild(nodeStylesheet);





        //<?rss version="2.0" ?> 创建文档元素

        XmlElement root = domDoc.CreateElement("rss");

        root.SetAttribute("version", "2.0"); //添加属性结点

        //将文档元素添加进文档

        domDoc.AppendChild(root);



        //创建channel根元素

        XmlElement chnode = domDoc.CreateElement("channel");

        //将channel添加进根元素

        root.AppendChild(chnode);

        //频道标题

        XmlElement element = domDoc.CreateElement("title");

        //频道标题的文本内容

        XmlNode textNode = domDoc.CreateTextNode("执手泪眼的个人博客"); //文本结点



        element.AppendChild(textNode);



        chnode.AppendChild(element);



        //频道连接

        element = domDoc.CreateElement("link");



        textNode = domDoc.CreateTextNode("http://www.cnblogs.com/liszt/");



        element.AppendChild(textNode);



        chnode.AppendChild(element);



        //频道描述

        element = domDoc.CreateElement("description"); //引用结点



        XmlNode cDataNode = domDoc.CreateCDataSection("执手泪眼的个人博客");



        element.AppendChild(cDataNode);



        chnode.AppendChild(element);





        DataTable dt = GetDataTab(); //访问数据库,获取要在rss中显示的记录



        foreach (DataRow dr in dt.Rows)

        {

            //chNode.AppendChild(element);

            //创建内容结点,常见的如title,description,link,pubDate,创建方法同上

            element = domDoc.CreateElement("item");

            XmlElement itemElement = domDoc.CreateElement("title");

            XmlNode itemNode = domDoc.CreateTextNode(Server.HtmlDecode(dr[1].ToString()));

            itemElement.AppendChild(itemNode);

            element.AppendChild(itemElement);

            //

            itemElement = domDoc.CreateElement("link");

            itemNode = domDoc.CreateTextNode(Server.HtmlDecode(dr[2].ToString()));

            itemElement.AppendChild(itemNode);

            element.AppendChild(itemElement);



            itemElement = domDoc.CreateElement("pubDate");

            itemNode = domDoc.CreateTextNode(Server.HtmlEncode(dr[3].ToString()));

            itemElement.AppendChild(itemNode);

            element.AppendChild(itemElement);



            itemElement = domDoc.CreateElement("description");

            itemNode = domDoc.CreateTextNode(Server.HtmlDecode(dr[4].ToString()));

            itemElement.AppendChild(itemNode);

            element.AppendChild(itemElement);



            chnode.AppendChild(element);



        }



        //输出



        XmlTextWriter objTextWrite = new XmlTextWriter(this.Response.OutputStream, System.Text.Encoding.UTF8);



        domDoc.WriteTo(objTextWrite);



        objTextWrite.Flush();



        objTextWrite.Close();



    }

 

源代码下载

你可能感兴趣的:(rss)