ASP.NET C#实现DataTable 转化为xml格式

作者&投稿:关薇 (若有异议请与网页底部的电邮联系)
怎么由DataTable转化为XML-CSDN论坛~

dataTable和dataSet自带转化为xml的功能:
dt.WriteXml(stream);ds.WriteXml(stream);
示例方法:
private string ConvertDataTableToXML(DataTable xmlDS){ MemoryStream stream = null; XmlTextWriter writer = null; try { stream = new MemoryStream(); writer = new XmlTextWriter(stream, Encoding.Default); xmlDS.WriteXml(writer); int count = (int)stream.Length; byte[] arr = new byte[count]; stream.Seek(0, SeekOrigin.Begin); stream.Read(arr, 0, count); UTF8Encoding utf = new UTF8Encoding(); return utf.GetString(arr).Trim(); } catch { return String.Empty; } finally { if (writer != null) writer.Close(); }}

贴个代码出来,不要截图的,用文本编辑器里的“代码”插入你的xml文本。

下面是我自己写的生成xml代码你自己去修改
protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
{
string uname=Session["login"].ToString();
XmlTextWriter xw = new XmlTextWriter(Server.MapPath("xmlfiles/") + uname + DateTime.Now.ToString("yyyyMMddHHmmss") + "购买信息.xml", null);
//实例化,且在实例化过程中指定生成路径
xw.Formatting = Formatting.Indented;//自动缩进
xw.WriteStartDocument();//文档声明头
xw.WriteStartElement("购买信息");//只能有一个根,根头

//第一件事
xw.WriteStartElement("购买人");
xw.WriteString(uname);
xw.WriteEndElement();

for (int i = 0; i < dt.Rows.Count; i++)
{
string pid = dt.Rows[i][0].ToString();
string pname = dt.Rows[i][1].ToString();
string price = dt.Rows[i][2].ToString();
string pcount = dt.Rows[i][4].ToString();

xw.WriteStartElement("商品ID");
xw.WriteString(pid);
xw.WriteEndElement();
xw.WriteStartElement("商品名称");
xw.WriteString(pname);
xw.WriteEndElement();
xw.WriteStartElement("商品价格");
xw.WriteString(price);
xw.WriteEndElement();
xw.WriteStartElement("商品数量");
xw.WriteString(pcount);
xw.WriteEndElement();

}

//最后一件事
xw.WriteStartElement("总价格");
xw.WriteString(Label1.Text);
xw.WriteEndElement();

xw.WriteEndElement();//根尾
xw.WriteEndDocument();//文档声明尾
xw.Flush();//刷新
xw.Close();
Response.Write("<script language=javascript>alert('生成XML成功')</s" + "cript>");

}码

What you can use is Datatable.WriteXml, or dataset.GetXml.

The issue is inside xml, it still use X, Y, Z as tag, not A, B as you describled, since X, Y, Z are your columns name.

Unless you need to write the loop to hard code the xml... good luck

可以不转化直接绑定啊
根节点绑定 列 X 然后根据 已有节点查找 如果是 A 这个大目录 就就追加子目录 a,b…… 在查找 孙目录 如果a 有文章就追加 1,2……

想把数据绑定到TreeView中有那么麻烦吗?

TreeView是由TreeNode组成的!

你写个循环加判断就可以拼凑成一个节点集合!

然后那节点加到你的TreeView1中去。

求人不如求自己!只有自己才是高手。


武川县15315885293: asp.net中用c#实现对sql数据库的多条件查询! 对了马上给分 在线等 -
戚固银翘: string strsql=string.Format("SELECT * FROM login WHERE username='{0}' and userpw='{1}'",txtname.Text,txtpw.Text); 最好对txtname.Text和txtpw.Text进行特殊字符过滤,防止SQL注入

武川县15315885293: 如何在asp.net中用c#做在线人数计数器 -
戚固银翘: 一、用户显示页面的使用 首先,我们来看看怎样现实当前网站的访问用户数量,程序代码如下:private void Page_Load(object sender, System.EventArgs e){ Visitors.Text = "本站当前有: " + Application["user_sessions"].ToString() + "...

武川县15315885293: asp.net连接SQL数据库问题(c#实现)
戚固银翘: 在后台代码先引入SQL命名空间 然后如下面代码:将SQL数据和前台服务控件绑定. using System.Data.SqlClient; private SqlDataAdapter da; private DataSet ds; private SqlConnection conn; private SqlCommand cmd; private ListItem li; private ...

武川县15315885293: asp.net c# 统计数据并输出 -
戚固银翘: 示例:假设数据库有一张test表 数据库有您提供的如下数据:------------------------------------------ id time1 time2 1 3 141 10 162 2 252 4 193 2 303 15 25------------------------------------------ 查询数据库T-SQL语句如下:SELECT id '编号', COUNT( CASE ...

武川县15315885293: ASP.NET(C#)如何实现用户按表格填写数据并保存到本地任意位置 -
戚固银翘: 给你个思路 用table布局 写个表格出来 然后里面用js放input 最后根据提交的数据 生成EXCEL 并返回给用户下载

武川县15315885293: ASP.NET(C#)如何实现DataList全选删除? -
戚固银翘: 你可以采用这样的方式来实现: 当单击checkBox的时候,在选中事件中将DataList中当前行的标识获取到,这样在点删除的时候就可以知道你要删除哪一条数据了.你可以仿照下面的伪代码来写: (1)DataList中添加CheckBox,并为其添加 ...

武川县15315885293: asp.net C#:我想根据数据库中的数据,在页面指定位置动态添加若干个datalist,请问怎么能实现? -
戚固银翘: 把DataList放在Repeater内,给Repeater绑定多少行数据,就会产生多少个DataList

武川县15315885293: asp.net C# 实现打印功能 带表格的数据 -
戚固银翘: 复制放到html里运行一下 WebForm1 本部分以上不被打印 本部分以下不被打印 不打印 打印

武川县15315885293: 如何实现ASP.NET与SQL server连接,用C#实现.
戚固银翘: 给你一个类哪,一个很简单的sql server的连接 using System.Data.SqlClient; protected void Button1_Click(object sender, EventArgs e) { //SQL实现用户登陆 SqlConnection con = new SqlConnection(@"server=.\sqlexpress;User ID=sa;...

武川县15315885293: c#asp.net中,如何实现.将数据读入表中.
戚固银翘: 您好!你可以使用SqlDataSource数据源!然后使用<%Eval("字段名")%>去读取数据!

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网