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啦