XML:将信息写入到XML中

系统 1687 0
            private void btnWrite_Click(object sender, EventArgs e)

        {

            if (txtName.Text.Trim().Length == 0)

            {

                MessageBox.Show("没有输入学生姓名", "友情提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);

                txtName.Focus();

                return;

            }



            dlgSave.Filter= "*.xml|*.xml";

            dlgSave.InitialDirectory=Application.StartupPath + @"\xml";

            dlgSave.RestoreDirectory = true;

            dlgSave.OverwritePrompt = false;

            if (dlgSave.ShowDialog() == DialogResult.OK)

            {

                XmlDocument xmlDoc = new XmlDocument();

                FileInfo fi = new FileInfo(dlgSave.FileName);

                XmlNode root = null;

                if (!fi.Exists)

                {

                    flag = true;

                    XmlNode xmlnode = xmlDoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");

                    xmlDoc.AppendChild(xmlnode);

                    root = xmlDoc.CreateNode(XmlNodeType.Element, "成绩单", null);

                    xmlDoc.AppendChild(root);

                }

                else

                {

                    flag = false;

                    xmlDoc.Load(dlgSave.FileName);

                    root = xmlDoc.SelectSingleNode("成绩单");//查找<成绩单>

                }

                XmlComment xc = xmlDoc.CreateComment(cbComment.Text);//创建一个注释

                root.AppendChild(xc);



                XmlElement xe1 = xmlDoc.CreateElement("学生");//创建一个<学生>节点

                xe1.SetAttribute("性别", (rbMen.Checked) ? "男" : "女");//设置该节点性别属性



                string sTemp = nudID.Value.ToString();

                xe1.SetAttribute("学号", lab0512.Text + ((sTemp.Length == 1) ? "0" : "") + sTemp);//设置该节点学号属性



                XmlElement xesub1 = xmlDoc.CreateElement("姓名");

                xesub1.InnerText = txtName.Text;//设置文本节点

                xe1.AppendChild(xesub1);//添加到<学生>节点中



                XmlElement xesub2 = xmlDoc.CreateElement("分数");

                XmlElement xesub20 = xmlDoc.CreateElement("语文");

                xesub20.InnerText = nudyw.Value.ToString();

                xesub2.AppendChild(xesub20);

                XmlElement xesub21 = xmlDoc.CreateElement("数学");

                xesub21.InnerText = nudsx.Value.ToString();

                xesub2.AppendChild(xesub21);

                XmlElement xesub22 = xmlDoc.CreateElement("外语");

                xesub22.InnerText = nudwy.Value.ToString();

                xesub2.AppendChild(xesub22);

                xe1.AppendChild(xesub2);



                XmlElement xesub3 = xmlDoc.CreateElement("城市");

                if (cmbCity.SelectedIndex != -1)

                    xesub3.InnerText = cmbCity.SelectedItem.ToString();

                else

                    xesub3.InnerText = "本地";

                xe1.AppendChild(xesub3);



                root.AppendChild(xe1);//添加到<bookstore>节点中

                xmlDoc.Save(dlgSave.FileName);



                if (flag)

                    MessageBox.Show("成功生成XML文件!","系统提示",MessageBoxButtons.OK,MessageBoxIcon.Information);

                else

                    MessageBox.Show("信息已加入XML文件!" , "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);



                cbComment.SelectedIndex = 0;

                nudID.Value = 1;

                txtName.Text = "";

                nudyw.Value = nudsx.Value = nudwy.Value = 60;

                rbMen.Checked = true;

                rbWomen.Checked = false;

                cmbCity.SelectedIndex = 0;

            }

        }
  

运行效果图如下:

XML:将信息写入到XML中

XML:将信息写入到XML中


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论