xml的 一些简单操作

以前总是从xml中读取字段,来做简单的使用,譬如这次我在一个xml文件中存放了一些几个部门的信息,我以为只是简单的读取呢,后来才发现还需要有一个部门管理的界面,就是可以对部门进行修改、删除、增加的操作。所以有点发懵了,就这这次 机会,又简单的研究了一下发现了一些知识点:

xml文档结构图如下:

1)查看所有(增加数据的时候可用于检索是否有相同值)

 		XmlDocument xml = new XmlDocument();
                xml.Load(Server.MapPath(" ~/dept.xml"));
                XmlNodeList nodeList = xml.GetElementsByTagName("*");
                foreach (XmlNode xn in nodeList)//遍历所有子节点
                {
                  
                    if (xn.Name == "dept")
                    {
                        for (int i = 0; i < xn.ChildNodes.Count; i++)
                        {
                            Response.Write(xn.ChildNodes[i]["name"].InnerText+ "<br/>");
                        }
                    }
                }


上面的代码主要是创建一个xmldocument对象xml,把dept.xml赋给这个xml。其中dept是根节点,然后是上面这段代码的主要功能是循环输出dept下子节点的name属性的值。这个主要是我用来检测添加部门的时候是否有重复的部门名称的时候需要使用的,假如有相同的则给出提示。

2)删除特定的子节点,然后在保存到xml文档中去。

            XmlDocument xml = new XmlDocument();
                xml.Load(Server.MapPath(" ~/dept.xml"));
                XmlNodeList nodeList = xml.GetElementsByTagName("*");
                foreach (XmlNode xn in nodeList)//遍历所有子节点
                {
                  
                    if (xn.Name == "dept")
                    {
           
                        xn.RemoveChild(xn.ChildNodes[1]);
                        break;
                      
                    }
                }
                xml.Save(Server.MapPath("~") + "dept.xml");


3)添加xml节点

 if (!string.IsNullOrEmpty(TextBox1.Text))
            {
                XmlDocument xml = new XmlDocument();
                xml.Load(Server.MapPath(" ~/dept.xml"));
                XmlNodeList nodeList = xml.GetElementsByTagName("*");
                foreach (XmlNode xn in nodeList)//遍历所有子节点
                {
                  
                    if (xn.Name == "dept")
                    {
                        int i = Convert.ToInt32(xn.LastChild["value"].InnerText);
                        xn.InnerXml += "<deptname><name>" + TextBox1.Text + "</name><value>" + i + 1 + "</value></deptname>";//为xml文档添加一个节点
                        break;
                    }
                }
                xml.Save(Server.MapPath("~") + "dept.xml");
                ClientScript.RegisterClientScriptBlock(GetType(),"","<script>alert('添加成功!');</script>");
            }
            else
            {
                ClientScript.RegisterClientScriptBlock(GetType(),"<script>alert('部门名称不允许为空!');</script>");
            }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇