求~SQL数据库里面的一张表转换成XML文件的源代码

「已注销」 2011-06-08 09:05:31
求~SQL数据库里面的一张表转换成XML文件的源代码 要是C#的
...全文
148 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2011-06-08
  • 打赏
  • 举报
回复
已经做好了,谢谢各位大神,学习了下
老毕 2011-06-08
  • 打赏
  • 举报
回复
建议直接用ADO.NET中的DataSet或者DataTable的WriteXml()方法实现。

我下面例子中的WriteXml()使用了模式XmlWriteMode.WriteSchema以同时写入模式与数据。如果你不需要模式,可以删除第2个参数。

using (SqlConnection conn = new SqlConnection (@"server = localhost; integrated security = ture; database = industry"))

{

string query = @"select * from department";

SqlDataAdapter da = new SqlDataAdapter (query, conn);

DataTable dt = new DataTable();

da.Fill(dt);



dt.WriteXml(@".\department.xml", XmlWriteMode.WriteSchema);

}
「已注销」 2011-06-08
  • 打赏
  • 举报
回复
刚试了各位大神说的方法,有些是运行以后没有效果了,很郁闷
wangxiao2008 2011-06-08
  • 打赏
  • 举报
回复
得到数据后,安装你规定的xml格式一条一条循环写入就可以了
「已注销」 2011-06-08
  • 打赏
  • 举报
回复
String tempTableName = "Employees";
String tempRowName = "Employee";
String tempSavePath = "../../Employees.xml";
请问大家 这个是做什么用的?
班门弄武 2011-06-08
  • 打赏
  • 举报
回复

你先读出来DataTable 或 DataSet 再 WriteXml 这样不是很简单的事情吗?
冰语落沧海 2011-06-08
  • 打赏
  • 举报
回复
就测试下
「已注销」 2011-06-08
  • 打赏
  • 举报
回复
有谁会的加下我QQ 515480642 谢谢了
「已注销」 2011-06-08
  • 打赏
  • 举报
回复
嗯 是对的,我是新手,给的代码都不放到哪去运行
mjlmirror27 2011-06-08
  • 打赏
  • 举报
回复
大家说的都对啊!
「已注销」 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 porschev 的回复:]
好像给过你例子了吧
[/Quote]

你给我的那个我看不懂啊,新手
porschev 2011-06-08
  • 打赏
  • 举报
回复

好像给过你例子了吧
「已注销」 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 bearben2010 的回复:]
for xml path的确可以,但是如果有二进制流的话会出问题(SQL查询分析器可以正常得到结果,但是在C#中就不可以,很奇怪)
[/Quote]
为空的它就没显示出来了
bearben2010 2011-06-08
  • 打赏
  • 举报
回复
for xml path的确可以,但是如果有二进制流的话会出问题(SQL查询分析器可以正常得到结果,但是在C#中就不可以,很奇怪)
「已注销」 2011-06-08
  • 打赏
  • 举报
回复
还有能直接在在SQL 里面写语句查询出来是这种,我不需要其他的 就是把那张表的数据转成XML就行了


就像这样:

<row>
<ID>1</ID>
<CODE>1</CODE>
<NAME>照明工业</NAME>
<PCODE>0</PCODE>
<PINYIN>NULL</PINYIN>
<ORDER>1</ORDER>
<ClickNum>0</ClickNum>
<Flag>NULL</Flag>
</row>
「已注销」 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xuexiaodong2009 的回复:]
引用 1 楼 bdmh 的回复:

先去自己看看xmldocument怎么玩,你会写xml,剩下的就是个遍历数据集,随便你怎么组织数据,写到xml就可以了,帮助中的例子已经够你用了
还用个for xml的可以直接转化成xml
[/Quote]

我是要他变成这样

<row>
<ID>1</ID>
<CODE>1</CODE>
<NAME>照明工业</NAME>
<PCODE>0</PCODE>
<PINYIN></PINYIN>
<ORDER>1</ORDER>
<ClickNum>0</ClickNum>
<Flag>NULL</Flag>
</row>
bearben2010 2011-06-08
  • 打赏
  • 举报
回复
开发环境:vs2010
数据库:sql2008 northwind
工程:命令控制台程序

using System.Xml.Linq;
using System.Data;
using System.Data.SqlClient;
DataTable tempDt = new DataTable();
String tempTableName = "Employees";
String tempRowName = "Employee";
String tempSavePath = "../../Employees.xml";
using (SqlConnection tempCon = new SqlConnection())
{
tempCon.ConnectionString = "Data Source=.; Integrated Security=SSPI; Initial Catalog=Northwind;";
using (SqlCommand tempCmd = tempCon.CreateCommand())
{
tempCmd.CommandText = "Select top 100 * from " + tempTableName;
SqlDataAdapter tempDa = new SqlDataAdapter(tempCmd);
tempDa.Fill(tempDt);
}
}

XElement tempDoc = new XElement(tempTableName);
for (int i = 0; i < tempDt.Rows.Count; i++)
{
var tempElement = new XElement(tempRowName);
for (int j = 0; j < tempDt.Columns.Count; j++)
{
tempElement.Add(new XElement(tempDt.Columns[j].ColumnName, tempDt.Rows[i][j] == DBNull.Value ? String.Empty : tempDt.Rows[i][j]));
}

tempDoc.Add(tempElement);
}
tempDoc.Save(tempSavePath);
xuexiaodong2009 2011-06-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 bdmh 的回复:]

先去自己看看xmldocument怎么玩,你会写xml,剩下的就是个遍历数据集,随便你怎么组织数据,写到xml就可以了,帮助中的例子已经够你用了
[/Quote]还用个for xml的可以直接转化成xml
bdmh 2011-06-08
  • 打赏
  • 举报
回复
先去自己看看xmldocument怎么玩,你会写xml,剩下的就是个遍历数据集,随便你怎么组织数据,写到xml就可以了,帮助中的例子已经够你用了

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧