积极答复者
没了这个程序,后果很严重。希望高手们帮忙下~~

问题
-
小弟正在研究XML的异构数据的交换。具体内容如下。
(1)比如说从SQL 2000读取数据select customerid,companyname,contactname from customers.
把从数据库中的数据转换为XML(是不是还可以写XSD文档,用来约束XML)
(2)把写出来的XML导入ACCESS或EXCEL中。同时受到之前的那个XSD的约束。
这个程序对于高手们应该很简单,但对于我。。。
谁能帮忙写这个程序下,真的是快要跳墙了。
496188814@qq.com,这个是我的邮箱。
谢谢你们了。- 已移动 Sheng Jiang 蒋晟Moderator 2009年3月25日 21:04 (从 Visual C# 移动到 XML 与 Web Services 讨论区)
答案
-
(1)你可以利用Sql Server 2000自带的XML功能来生成XML。
请参考以下链接:
http://msdn.microsoft.com/zh-cn/library/ms950789.aspx
(2)最简单的办法,你可以使用程序,读取XML文档,然后一条一条地导入到Access或者Excel中
理解的越多,需要记忆的就越少- 已标记为答案 KeFang Chen 2009年3月27日 8:46
-
这是个很简单的问题,网上有代码,你参考一下。
假设有如下的XML文件:<?xml version="1.0" encoding="utf-8" ?>
<users>
<user code="lm">
<name>黎明</name>
<sex>male</sex>
<age>28</age>
</user>
<user code="sq">
<name>舒淇</name>
<sex>female</sex>
<age>27</age>
</user>
</users>代码如下:
//请将ACCESS数据库的路径替换为实际的路径
using (OleDbConnection cn = new OleDbConnection(@"Provider=Microsoft.Jet.OleDb.4.0;Data Source=d:\demo.mdb"))
{
cn.Open();
using (OleDbCommand cmd = new OleDbCommand())
{
cmd.Connection = cn;
cmd.CommandType = CommandType.Text;
XmlDocument xml = new XmlDocument();
//请将XML的路径替换为实际的路径
xml.Load(@"d:\demo.xml");
//取得所有的user
XmlNodeList xn = xml.GetElementsByTagName("user");
//遍历所有的user
foreach (XmlElement xe in xn)
{
cmd.CommandText = string.Format("INSERT INTO userinfo([UserCode],[UserName],[UserSex],[UserAge]) VALUES ('{0}', '{1}', '{2}', {3})",
xe.GetAttribute("code"), //取得code
xe.ChildNodes[0].InnerText, //取得Name
xe.ChildNodes[1].InnerText, //取得Sex
xe.ChildNodes[2].InnerText //取得Age
);
//插入数据
cmd.ExecuteNonQuery();
}
}
}
微软技术,世界动力- 已建议为答案 msnetgodModerator 2009年3月23日 17:28
- 已标记为答案 KeFang Chen 2009年3月27日 8:46
全部回复
-
(1)你可以利用Sql Server 2000自带的XML功能来生成XML。
请参考以下链接:
http://msdn.microsoft.com/zh-cn/library/ms950789.aspx
(2)最简单的办法,你可以使用程序,读取XML文档,然后一条一条地导入到Access或者Excel中
理解的越多,需要记忆的就越少- 已标记为答案 KeFang Chen 2009年3月27日 8:46
-
首先谢谢楼上2位的关注和关心。
对于你们来说,这个应用程序很简单。我自己也在做,但是没有做的很好,
所以想借借高手们的曾经写过的程序来丰富自己。
所以,如果有程序的朋友们发到 496188814@qq.com这个邮箱,小弟先谢了。 -
这是个很简单的问题,网上有代码,你参考一下。
假设有如下的XML文件:<?xml version="1.0" encoding="utf-8" ?>
<users>
<user code="lm">
<name>黎明</name>
<sex>male</sex>
<age>28</age>
</user>
<user code="sq">
<name>舒淇</name>
<sex>female</sex>
<age>27</age>
</user>
</users>代码如下:
//请将ACCESS数据库的路径替换为实际的路径
using (OleDbConnection cn = new OleDbConnection(@"Provider=Microsoft.Jet.OleDb.4.0;Data Source=d:\demo.mdb"))
{
cn.Open();
using (OleDbCommand cmd = new OleDbCommand())
{
cmd.Connection = cn;
cmd.CommandType = CommandType.Text;
XmlDocument xml = new XmlDocument();
//请将XML的路径替换为实际的路径
xml.Load(@"d:\demo.xml");
//取得所有的user
XmlNodeList xn = xml.GetElementsByTagName("user");
//遍历所有的user
foreach (XmlElement xe in xn)
{
cmd.CommandText = string.Format("INSERT INTO userinfo([UserCode],[UserName],[UserSex],[UserAge]) VALUES ('{0}', '{1}', '{2}', {3})",
xe.GetAttribute("code"), //取得code
xe.ChildNodes[0].InnerText, //取得Name
xe.ChildNodes[1].InnerText, //取得Sex
xe.ChildNodes[2].InnerText //取得Age
);
//插入数据
cmd.ExecuteNonQuery();
}
}
}
微软技术,世界动力- 已建议为答案 msnetgodModerator 2009年3月23日 17:28
- 已标记为答案 KeFang Chen 2009年3月27日 8:46