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