Asp.Net数据库查询生成XML文件

DAL层

using System;
using System.Collections.Generic;
using System.Text;
using MODEL;
using System.Data;
using System.Data.SqlClient;

namespace DAL
{
    public static class ArticleService
    {

        //IList查询
        public static IList<Article> GetArticle()
        {
            string sql = "select * from t_Article";
            return GetArticleBySql(sql);

        }
        //执行sql语句
        private static IList<Article> GetArticleBySql(string safeSql)
        {
            List<Article> list = new List<Article>();

            try
            {
                DataTable table = DBHelper.GetDataTable(safeSql);

                foreach (DataRow row in table.Rows)
                {
                    Article article = new Article();

                    article.Id = (int)row["t_ID"];
                    article.Title = (string)row["t_Title"];
                    article.Content = (string)row["t_Content"];
                    article.Time = (DateTime)row["t_Date"];
                    //article.Url = (string)row[""];

                    list.Add(article);
                }

                return list;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
                throw e;
            }
        }

    }

}

BLL层

using System;
using System.Collections.Generic;
using System.Text;
using MODEL;
using DAL;
using System.Data;

namespace BLL
{
    public class ArticleManager
    {

           //用IList查询
        public static IList<Article> GetArticle()
        {
            return ArticleService.GetArticle();
        }

    }

}

MODEL层

using System;
using System.Collections.Generic;
using System.Text;

namespace MODEL
{
    public class Article
    {
        private int id;

        public int Id
        {
            get { return id; }
            set { id = value; }
        }
        private string title;

        public string Title
        {
            get { return title; }
            set { title = value; }
        }
        private string content;

        public string Content
        {
            get { return content; }
            set { content = value; }
        }
        private DateTime time;

        public DateTime Time
        {
            get { return time; }
            set { time = value; }
        }
        private string url;

        public string Url
        {
            get { return url; }
            set { url = value; }
        }
    }
}

WEB层

xml3.aspx代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="xml3.aspx.cs" Inherits="xml3" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    </div>
    </form>
</body>
</html>

xml3.aspx.cs代码

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.Collections.Generic;
using System.Xml;
using BLL;
using MODEL;

public partial class xml3 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            Label1.Text = DateTime.Now.ToString();
            WriteXML();
        }
    }
    private void WriteXML()
    {
        XmlTextWriter writer = new XmlTextWriter(Server.MapPath("grade.xml"), null);
        writer.Formatting = Formatting.Indented;   //首行缩进
        writer.Indentation = 4;   //缩进位置
        XmlDocument domDoc = new XmlDocument();
        //XmlDeclaration nodeDeclar = domDoc.CreateXmlDeclaration("1.0", System.Text.Encoding.UTF8.BodyName, "yes");原语句
        XmlDeclaration nodeDeclar = domDoc.CreateXmlDeclaration("1.0", System.Text.Encoding.Default.BodyName, "yes");//修改语句
        domDoc.AppendChild(nodeDeclar);
        //如果rss有样式表文件的话,加上这两句
        //XmlProcessingInstruction nodeStylesheet = domDoc.CreateProcessingInstruction("xml-stylesheet", "type=\"text/css\" href=\"rss.css\"");
        //domDoc.AppendChild(nodeStylesheet);
        XmlElement root = domDoc.CreateElement("root");
        //root.SetAttribute("Date", "20090307"); //添加属性结点
        domDoc.AppendChild(root);
        XmlElement chnode = domDoc.CreateElement("recorder");
        //chnode.SetAttribute("File", "index.swf"); //添加属性结点
        //chnode.SetAttribute("Music", "");
        root.AppendChild(chnode);
        XmlElement element = domDoc.CreateElement("实例1");
        XmlNode textNode = domDoc.CreateTextNode("搜狐焦点新闻");    //文本结点
        element.AppendChild(textNode);
        chnode.AppendChild(element);

        element = domDoc.CreateElement("实例2");
        textNode = domDoc.CreateTextNode("http://www.sohu.com");
        element.AppendChild(textNode);
        chnode.AppendChild(element);

        element = domDoc.CreateElement("实例3"); //引用结点
        XmlNode cDataNode = domDoc.CreateCDataSection("即时报道国内外时政大事,解读环球焦点事件");
        element.AppendChild(cDataNode);
        chnode.AppendChild(element);
        //真是数据
        element = domDoc.CreateElement("id"); //引用结点
        XmlNode cDataNodeid = domDoc.CreateCDataSection("id");
        element.AppendChild(cDataNodeid);
        chnode.AppendChild(element);

        element = domDoc.CreateElement("title"); //引用结点
        XmlNode cDataNodetitle = domDoc.CreateCDataSection("title");
        element.AppendChild(cDataNodetitle);
        chnode.AppendChild(element);

        element = domDoc.CreateElement("content"); //引用结点
        XmlNode cDataNodecontent = domDoc.CreateCDataSection("content");
        element.AppendChild(cDataNodecontent);
        chnode.AppendChild(element);

        element = domDoc.CreateElement("time"); //引用结点
        XmlNode cDataNodetime = domDoc.CreateCDataSection("time");
        element.AppendChild(cDataNodetime);
        chnode.AppendChild(element);

        element = domDoc.CreateElement("url"); //引用结点
        XmlNode cDataNodeurl = domDoc.CreateCDataSection("url");
        element.AppendChild(cDataNodeurl);
        chnode.AppendChild(element);

        //访问数据库,获取要在rss中显示的记录
        //DataTable dt = GetDataTab();    
        //foreach (DataRow dr in dt.Rows)
        //{
        //    element = domDoc.CreateElement("item");
        //    //...
        //    //创建内容结点,常见的如title,description,link,pubDate,创建方法同上
        //    //...
        //    chnode.AppendChild(element);
        //}

        IList<Article> list = ArticleManager.GetArticle();
        foreach (Article art in list)
        {
            int id = art.Id;
            string idd = id.ToString();
            string title = art.Title.ToString();
            string content = art.Content;
            DateTime data = art.Time;
            string datae = System.Convert.ToString(data);

            //方法一
            //此方法可以使用 勿删除
            //XmlElement chnode1 = domDoc.CreateElement("recorder");
            //root.AppendChild(chnode1);
           
            //element = domDoc.CreateElement(idd);
            //chnode1.AppendChild(element);

            //方法二
            //此方法可以使用 勿删除
            XmlElement chnode1 = domDoc.CreateElement("recorder");
            root.AppendChild(chnode1);

            element = domDoc.CreateElement("id"); //引用结点
            XmlNode cDataNodeidd = domDoc.CreateCDataSection(idd);
            element.AppendChild(cDataNodeidd);
            chnode1.AppendChild(element);

            element = domDoc.CreateElement("title"); //引用结点
            XmlNode cDataNodetitlee = domDoc.CreateCDataSection(title);
            element.AppendChild(cDataNodetitlee);
            chnode1.AppendChild(element);

            element = domDoc.CreateElement("content"); //引用结点
            XmlNode cDataNodecontentt = domDoc.CreateCDataSection(content);
            element.AppendChild(cDataNodecontentt);
            chnode1.AppendChild(element);

            element = domDoc.CreateElement("time"); //引用结点
            XmlNode cDataNodedatae = domDoc.CreateCDataSection(datae);
            element.AppendChild(cDataNodedatae);
            chnode1.AppendChild(element);
        }
        //输出
        domDoc.WriteTo(writer);
        writer.Flush();
        writer.Close();
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值