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();

    }

源代码下载

原文地址:https://www.cnblogs.com/liszt/p/2013126.html