XML:将信息写入到XML中

 

        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;

            }

        }

运行效果图如下:

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值