Xml文件的相关操作

Xml文档很久没有用过了,今天开开鲜,新手专区,不喜勿喷,运用的是WinForm编写

   XMl文件的创建       /// <summary>
        /// 创建Xml文件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnCreateXml_Click(object sender, EventArgs e)
        {
            //创建Xml对象
            XmlDocument doc = new XmlDocument();
            //创建文档描述信息
            XmlDeclaration dec = doc.CreateXmlDeclaration("1.0", "utf-8", null);
            doc.AppendChild(dec);

            //创建根节点
            XmlElement stu = doc.CreateElement("Students");
            doc.AppendChild(stu);

            //创建子节点
            XmlElement stu1 = doc.CreateElement("Student");
            stu.AppendChild(stu1);

            //追加子节点
            XmlElement stu2 = doc.CreateElement("Stu");
            //给追加的子节点添加属性
            stu2.SetAttribute("name", "张三");
            stu2.SetAttribute("age", "22");
            stu2.SetAttribute("sex", "男");
            stu2.SetAttribute("password", "cao.119");
            stu1.AppendChild(stu2);
            //保存
            string xmlName = txtXmlName.Text.Trim();
            doc.Save(xmlName+".Xml");
            MessageBox.Show("创建XML文件"+xmlName+"成功", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
      Xml文件的读取     /// <summary>
        /// 读取Xml文件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnReadXml_Click(object sender, EventArgs e)
        {
            string xmlName = txtXmlName.Text.Trim();
            XmlDataDocument doc = new XmlDataDocument();
            doc.Load(xmlName+".Xml");
            XmlElement stu = doc.DocumentElement;
            XmlNodeList xnl = stu.ChildNodes;//得到所有节点
            string name = "";
            int age = 0;
            string sex = "";
            string pwd = "";
            XmlNodeList xnl1 = doc.SelectNodes("Students/Student/Stu");
            foreach (XmlNode node in xnl1)
            {
                name = node.Attributes["name"].Value;//得到name属性的值
                age = int.Parse(node.Attributes["age"].Value);//得到age属性的值
                sex = node.Attributes["sex"].Value;//得到sex属性的值
                pwd = node.Attributes["password"].Value;//得到password属性的值
            }    //当然 这里是MD5加密,要不要无所谓,自己加来玩玩
            MD5 md5 = MD5.Create();//MD5抽象类无法实例化 实例化该方法
            byte[] buffer = Encoding.Default.GetBytes(pwd);//将字符串转换为字节数组
            byte[] mdbuffer = md5.ComputeHash(buffer);//调用ComputeHash方法把数组传进去
            //将字节数组中每个元素ToString();
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < mdbuffer.Length; i++)
            {
                sb.Append(mdbuffer[i].ToString("x2"));////ToString得到十进制字符串 ToString("x")十六进制字符串 ToString("x2")对齐
            }
            MessageBox.Show("Xml文件:"+xmlName+"\n姓名:" + name + "\n年龄:" + age + "\n性别:" + sex + "\n密码:" + sb);
        }
           追加节点       /// <summary>
        /// 追加节点
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnAddNode_Click(object sender, EventArgs e)
        {
            XmlDocument doc = new XmlDocument();
            if (File.Exists("StudentsInfo.Xml"))
            {
                doc.Load("StudentsInfo.Xml"); //加载 xml
                XmlElement stu = doc.DocumentElement; //得到根节点
                //再建立元素进行追加
                //创建子节点
                XmlElement stu1 = doc.CreateElement("Student");
                stu.AppendChild(stu1);

                //追加子节点
                XmlElement stu2 = doc.CreateElement("Stu");
                //给追加的子节点添加属性
                stu2.SetAttribute("name", "李四");
                stu2.SetAttribute("age", "22");
                stu2.SetAttribute("sex", "男");
                stu2.SetAttribute("password", "cao.119");
                stu1.AppendChild(stu2);
                //保存
                doc.Save("StudentsInfo.Xml");
                MessageBox.Show("追加节点成功", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
    删除     /// <summary>
        /// 删除Xml
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnDelXml_Click(object sender, EventArgs e)
        {
            string xmlName = txtXmlName.Text.Trim();
            XmlDocument doc = new XmlDocument();
            doc.Load(xmlName+".xml");

            XmlNode xnl = doc.SelectSingleNode("Students"); //查找单一节点
            xnl.RemoveAll(); //删除全部
            doc.Save(xmlName+".xml");
            MessageBox.Show("删除"+xmlName+"子节点成功", "温馨提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
时间: 2024-11-29 04:21:20

Xml文件的相关操作的相关文章

java对XML文件的相关操作(dom4j)

1 <?xml version="1.0" encoding="UTF-8"?> 2 3 <Person university="SCAU" location="GuangZhou"> 4 <student> 5 <name>tester1</name> 6 </student> 7 <student> 8 <name/>teste

php对xml文件进行CURD操作

XML是一种数据存储.交换.表达的标准: - 存储:优势在于半结构化,可以自定义schema,相比关系型二维表,不用遵循第一范式(可以有嵌套关系): - 交换:可以通过schema实现异构数据集成: - 表达:本身就可以作为阅读文档,当然还可以使用XSLT之类的进行解析和再显示. 缺点是schema验证复杂,相比后来的json等格式,相对冗余. 下面的是利用php对xml文件进行CURD操作: xml文件的格式为: 1 <?xml version="1.0" encoding=&

关于C#资源文件的相关操作

关于资源文件的相关操作. //1.比较常见的有获取资源文件对应的文件流,然后转换到相对应的文件 //比较典型的做法是通过代码程序集加载指定资源 //如下通过Assembly的静态方法GetExecutingAssembly()得到程序集 //还有很多方式可以得到代码程序集 System.Reflection.Assembly asm = System.Reflection.Assembly.GetExecutingAssembly(); Stream manifestResourceStream

文件的相关操作

文件的相关操作 有些时候,需要对文件进行重命名.删除等一些操作,python的os模块中都有这么功能 1. 文件重命名 os模块中的rename()可以完成对文件的重命名操作 rename(需要修改的文件名, 新的文件名) import os os.rename("毕业论文.txt", "毕业论文-最终版.txt") 2. 删除文件 os模块中的remove()可以完成对文件的删除操作 remove(待删除的文件名) import os os.remove(&quo

java代码用dom4j解析xml文件的简单操作

时间: 2016/02/17 目标:为telenor的ALU Femto接口写一个采集xml文件并解析出locationName标签里的值,然后更新到数据库中. 从网上搜了下,有四种常用的解析xml的方式,包括DOM,JAXD,Dom4J,SAX(simple api for xml).我正好有Dom4j的jar包,就选择了Dom4j来解析xml. 前半截对xml的解析测试成功了.后面的数据库的连接,把数据更新到数据库的操作没有测试.对应的xml文件的行数有点多,没法上传,另写一个xml的文档上

C语言(七)文件的相关操作

转载请标明出处: http://blog.csdn.net/u011974987/article/details/52354074 C语言文件的打开与关闭 在C语言中,文件操作都是由库函数来完成的,我们就来总结文件的相关的操作. 文件的打开(fopen函数) fopen() 函数用来打开一个文件,它的格式为: FILE *fopen(char *filename, char *type); filename为文件名(包括文件路径),type为打开方式,它们都是字符串.fopen() 会获取文件信

SqlServer XML数据类型DML相关操作(图文结合)

XML操作很少用到,最近查询个语句,还得到官网查看用法.所以按照官方把相关的DML都操作一遍,作为记录!~ -- 测试数据 -- DROP TABLE #XMLTab CREATE TABLE #XMLTab(colxml XML) GO INSERT INTO #XMLTab SELECT N' <Record dt="2015-05-05"> <Exception type="RING_BUFFER_EXCEPTION"> <Tas

XML文件的一些操作

XML 是被设计用来传输和存储数据的, XML 必须含有且仅有一个 根节点元素(没有根节点会报错) 源码下载 http://pan.baidu.com/s/1ge2lpM7 好了,我们 先看一个 XML 文件(Cartoon.xml) <?xml version="1.0" encoding="utf-8"?> <Cartoon> <Character Company="DC"> <Name>超人&

用 JSP 实现对文件的相关操作

前段时间一直忙着作业,实验,动手的时间真是少之又少,今天终于可以继续和大家分享关于 JSP 的学习心得. 简单总结一下吧: JSP 理论性很强,感觉就是纯语法. 我更偏向于实际编写代码,这样更容易理解高深的理论. 我不喜欢读死书,死读书,特别喜欢边看书,边敲代码,屡败屡战才是王道. 下面直接上干货吧,提供超详细代码及结果展示,欢迎大家与我交流! 如何建工程.文件我就不在这里多说了,相信大家都在前面的分享里学会了,我们直接进入本次学习成果的核心代码部分. 首先可以先放一个整体的界面,就像做一个目录