各位老师:我想写一个xml数据过c#程序导入到sql中怎么写,需要分几步学哪些知识,谢谢

 我来答
Damon_lan
推荐于2016-10-27 · TA获得超过2054个赞
知道小有建树答主
回答量:415
采纳率:0%
帮助的人:181万
展开全部

你好,我做了一份建议的demo,希望对你又帮助

  1. 一份Xml 文件,内容如下:


  2. 创建一个数据库  右边的数据是代码插入的。


  3. Code


    private void button1_Click(object sender, EventArgs e)
            {
                string xmlPath = @"XMLFile1.xml";
                List<StudentInfo> allStudents = new List<StudentInfo>();
                //1.加载XML
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load(xmlPath);

                //2.读取 XML 里的数据
                XmlNodeList nodeList = xmlDoc.SelectNodes("MyClass//Students//Student");
                for (int i = 0; i < nodeList.Count; i++)
                {
                    var stu = nodeList[i].ChildNodes;
                    StudentInfo student = new StudentInfo();
                    student.Name = stu[0].InnerText;
                    student.Address = stu[1].InnerText;
                    student.Phone = stu[2].InnerText;

                    allStudents.Add(student);
                }

                //3. 开始把数据写入数据库。
                //需要学习的只是: SQL的增、删、改、查
                string connPath = @"Data Source=.\SQLEXPRESS;AttachDbFilename=C:\Users\Administrator\Documents\Visual Studio 2010\Projects\WinfomTest\WinfomTest\Test.mdf;Integrated Security=True;User Instance=True";
                using (SqlConnection conn = new SqlConnection(connPath))
                {
                    conn.Open();
                    using (SqlCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = "insert into Students values(@StudentName,@StudentAddress,@StudentPhone)";
                        for (int i = 0; i < allStudents.Count; i++)
                        {
                            cmd.Parameters.AddWithValue("StudentName", allStudents[i].Name);
                            cmd.Parameters.AddWithValue("StudentAddress", allStudents[i].Address);
                            cmd.Parameters.AddWithValue("StudentPhone", allStudents[i].Phone);
                        }
                        cmd.ExecuteNonQuery();
                    }
                    conn.Close();
                }
                MessageBox.Show("操作完成。");
            }
  4. 祝你好运!加油 有问题 可以在沟通。。。

追问
谢谢老师:可不可以加你的Q我的,气久三零56576,太感谢您了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式