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

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啦 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: 在C#中,使用Linq to XML可以方便地进行XML文件的读写操作。首先,我们需要加载XML文件,可以使用XDocument类的Load方法来加载文件\[1\]。然后,我们可以通过获取根元素来访问XML文件的内容,使用Root属性可以获取根元素\[2\]。接下来,我们可以使用Elements方法获取根元素的所有直接子元素,并通过遍历这些子元素来获取它们的名称和属性值\[2\]。如果需要进一步访问子元素的子元素,可以使用Elements方法继续获取\[2\]。另外,如果XML文件使用了命名空间,我们可以使用XName类的Get方法来指定命名空间\[3\]。通过这些方法,我们可以方便地读取和解析XML文件中的数据。当需要写入XML文件时,可以使用XDocument类的Save方法将修改后的XML文件保存到指定的路径。 #### 引用[.reference_title] - *1* *3* [Linq to Xml读写xml](https://blog.csdn.net/donghan2019/article/details/101946892)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [C#基础精华06(Linq To XML,读取xml文件,写入xml)](https://blog.csdn.net/XHQT520/article/details/50401669)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值