演示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(); }