[英]Creating an RSS feed in ASP.NET 3.5
如何使用C#在ASP.NET 3.5中創建RSS源?
哪些框架部分有助於.NET開發人員更輕松地發布RSS或Atom提要?
.NET 4中是否有任何額外的功能使這項任務比3.5更容易?
在3.5中有一個名為System.ServiceModel.Syndication的新命名空間。
Kevin Miller 對此有一個很好的寫作 ,對於新的命名空間來說並不是很多,查看文章,不需要在這里重新發布,在我看來,示例代碼更容易看。
public void BindData()
{
StringWriter sw = new StringWriter();
XmlTextWriter writer = new XmlTextWriter(sw);
XmlDocument doc = new XmlDocument();
XmlNode docNode = doc.CreateXmlDeclaration("1.0", "UTF-8", null);
writer.WriteStartElement("feed");
writer.WriteAttributeString("xmlns", "http://www.w3.org/2005/Atom");
writer.WriteString("\n");
writer.WriteElementString("title", this.TTT + " - " + this.Title);
writer.WriteString("\n");
writer.WriteStartElement("link");
writer.WriteAttributeString("href", this.Url );
writer.WriteEndElement();
writer.WriteElementString("id", "urn:uuid:" + Guid.NewGuid().ToString());
writer.WriteElementString("updated", DateTime.UtcNow.ToString("o"));
foreach (var item in this.lista)
{
writer.WriteStartElement("entry");
writer.WriteElementString("title", item.Value.Title);
writer.WriteStartElement("link");
writer.WriteAttributeString("href", item.Key);
writer.WriteEndElement();
writer.WriteElementString("id", item.Key);
string slikaImgUrl = item.Value.Imaga;
if (string.IsNullOrEmpty(slikaImgUrl) == false)
{
writer.WriteStartElement("link");
writer.WriteAttributeString("rel", "enclosure");
writer.WriteAttributeString("type", "image/jpeg");
writer.WriteAttributeString("href", slikaImgUrl);
writer.WriteEndElement();
}
writer.WriteStartElement("author");
writer.WriteElementString("name", this.Title);
writer.WriteEndElement();
writer.WriteStartElement("summary");
writer.WriteAttributeString("type", "text");
writer.WriteCData(" ");
writer.WriteEndElement();
writer.WriteElementString("updated", DateTime.UtcNow.ToString("o"));
writer.WriteElementString("published", DateTime.UtcNow.ToString("o"));
writer.WriteEndElement();
writer.WriteString("\n");
}
writer.WriteEndElement();
string dataOut = sw.ToString();
Response.Clear();
Response.ContentType = "text/xml";
Response.Write(dataOut);
writer.Close();
Response.End();
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.