C#数据库表数据生成XML文件

lmm823 2011-04-20 03:02:33
哪位大神。。帮我看下。这个地方老报错。说Current是空String filePath = System.Web.HttpContext.Current.Server.MapPath("xmlFile/a.xml");
全部代码是:
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=DB;User ID=sa");
SqlDataAdapter da = new SqlDataAdapter("Select * from Table_1", con);
DataSet ds = new DataSet();
con.Open();
da.Fill(ds, "Table_1");
DataTable dt;
dt = ds.Tables["Table_1"];
foreach (DataColumn dc in dt.Columns)
{
dc.ColumnMapping = MappingType.Attribute;
}
String filePath = System.Web.HttpContext.Current.Server.MapPath("xmlFile/a.xml");
ds.WriteXml(filePath);

XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load(filePath);

XmlNodeList Table = xmlDocument.GetElementsByTagName("Table_1");
foreach (XmlNode node in Table)
{
HttpContext.Current.Response.Write("FirstName:" + node.Attributes["FirstName"].Value + "<br />");
}
...全文
384 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lmm823 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhgroup 的回复:]
winform中不可用System.Web.HttpContext.Current这样来获取当前目录,这个是WEB中使用的
WINFORM中可以使用Assembly.GetExecuteAssembly().Location来获取当前应用程序所在目录,
或者弹出保存文件对话框让用户自行选择保存文件位置。
[/Quote]
明白了。但是我试了试你说的,不过这个GetExecuteAssembly()出不来。有个GetExecutingAssembly()都是获取包含当前执行的代码的程序集的吗?
lmm823 2011-04-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 happy_gril 的回复:]
Winform里面怎么用System.Web.HttpContext.Current.Server.MapPath("xmlFile/a.xml");??
[/Quote]
不是的。是给定输出文件一个路径。
String filePath = System.Web.HttpContext.Current.Server.MapPath("xmlFile/a.xml");
ds.WriteXml(filePath);
看这代码,是把dataset中的数据写入到filePath中,现在已经解决了,我把filePath改成了物理路径!不去MapPath了。
thank you!
zhgroup 2011-04-20
  • 打赏
  • 举报
回复
winform中不可用System.Web.HttpContext.Current这样来获取当前目录,这个是WEB中使用的
WINFORM中可以使用Assembly.GetExecuteAssembly().Location来获取当前应用程序所在目录,
或者弹出保存文件对话框让用户自行选择保存文件位置。
呦呦 2011-04-20
  • 打赏
  • 举报
回复
获取项目debug路径:
string str = System.Environment.CurrentDirectory;
文件生成在str+"\\XmlFile\\Student.xml"

你是不是要这个效果?
lmm823 2011-04-20
  • 打赏
  • 举报
回复
就是一个路径问题。前面只是namespace。刚试了试直接写物理路径就OK了。。
呦呦 2011-04-20
  • 打赏
  • 举报
回复
Winform里面怎么用System.Web.HttpContext.Current.Server.MapPath("xmlFile/a.xml");??

lmm823 2011-04-20
  • 打赏
  • 举报
回复
您好!我是在winform中用的,为什么是空的呢?谢谢!
xiaoyuzi 2011-04-20
  • 打赏
  • 举报
回复
你这是在asp.net里用的么?winform应用里他肯定是空的。
另外如果要在asp.net里用,最好用("~/xmlFile/a.xml"); ~表示网站根目录
lmm823 2011-04-20
  • 打赏
  • 举报
回复
额。。你帮我改一下多好!

111,110

社区成员

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

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

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