您的位置:首页 > 编程语言 > ASP

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

2012-09-14 19:13 447 查看
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();

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: