使用Linq to xml 动态创建Xml文件(数据来自数据库)

来源:互联网 发布:淘宝双11充值红包退款 编辑:程序博客网 时间:2024/06/06 08:34

LINQto XML 是一种启用了 LINQ 的内存XML 编程接口,使用它,可以在 .NET Framework 编程语言中处理 XML。

using System.Data.Linq;using System.Xml.Linq;using System.Xml;using System.Text;    //数据库连接字符串    GuestBookDataContext ctx = new GuestBookDataContext("server=.;database=GuestBook;uid=sa;pwd=sa");    var info = from tb in ctx.tbGuestBook select tb;                //声明xml,从foreach开始循环item,把info的数据循环写入xml         XElement contacts = new XElement("rss", new XAttribute("version", "2.0"),             new XElement("item"));        //这里开始循环写数据         foreach (var p in info)        {            contacts.Element("item").Add(            new XElement("items",            new XElement("ID", p.ID),            new XElement("Name",p.UserName),            new XElement("DateTime", p.PostTime),            new XElement("Content", p.Message),            new XElement("Replied", p.IsReplied),            new XElement("Reply",p.Reply)            ));        }         //这里开始操作xml是写入具体的xml文件还是直接输出       //如果是写入文件的话用这个         contacts.Save("I:/C#练习/item.xml");       //如果是输出的话, 先设好输出的类型"text/xml"       Response.ContentType = "text/xml";       using (XmlWriter writer = new XmlTextWriter(Response.OutputStream, Encoding.UTF8))       //用contacts的WriteTo方法来写       contacts.WriteTo(writer);       //这样就OK啦