`
wangwang3ok
  • 浏览: 78396 次
  • 性别: Icon_minigender_1
  • 来自: 青岛
社区版块
存档分类
最新评论

c# xml操作

阅读更多

因为做一个网站,要操作xml文件,所以找了下,转下别人的代码

xml文件的权限必须设为 IUser+Asp.net 或者 Everone

/// <summary>
        /// 添加记录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                XmlDocument xmlDoc = new XmlDocument();
                xmlDoc.Load("bookstore.xml");                       // 载入xml文件
                XmlNode root = xmlDoc.SelectSingleNode("bookstore");// 查找<bookstore>
                XmlElement xe1 = xmlDoc.CreateElement("book");      // 创建一个<book>节点

                xe1.SetAttribute("genre", genre.Text);              // 设置该节点genre属性
                xe1.SetAttribute("ISBN", ISBN.Text);                // 设置该节点ISBN属性

                XmlElement xesub1 = xmlDoc.CreateElement("title");  // 创建一个<title>节点
                xesub1.InnerText = title.Text;                      // 设置文本节点
                xe1.AppendChild(xesub1);                            // 添加到<book>节点中

                XmlElement xesub2 = xmlDoc.CreateElement("author"); // 创建一个<author>节点
                xesub2.InnerText = author.Text;                          // 设置文本节点
                xe1.AppendChild(xesub2);                            // 添加到<author>节点中

                XmlElement xesub3 = xmlDoc.CreateElement("price");  // 创建一个<price>节点
                xesub3.InnerText = price.Text;                          // 设置文本节点
                xe1.AppendChild(xesub3);                            // 添加到<price>节点中

                root.AppendChild(xe1);                              // 添加到<bookstore>节点中
                xmlDoc.Save("bookstore.xml");                       // 保存
            }
            catch (XmlException Xe)
            {
                MessageBox.Show(Xe.Message);
            }
        }

        /// <summary>
        /// 修改记录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button3_Click(object sender, EventArgs e)
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load("bookstore.xml");                       // 载入xml文件
            XmlNodeList nodeList = xmlDoc.SelectSingleNode("bookstore").ChildNodes; //获取bookstore节点的所有子节点
            foreach (XmlNode xn in nodeList)                                        //遍历所有子节点
            {
                XmlElement xe = (XmlElement)xn;                                     //将子节点类型转换为XmlElement类型
                if (xe.GetAttribute("genre") == "tajear")                           //如果genre属性值为“李赞红”
                {
                    xe.SetAttribute("genre", "update李赞红");                       //则修改该属性为“update李赞红”

                    XmlNodeList nls = xe.ChildNodes;                                //继续获取xe子节点的所有子节点
                    foreach (XmlNode xn1 in nls)                                    //遍历
                    {
                        XmlElement xe2 = (XmlElement)xn1;                           //转换类型
                        if (xe2.Name == "author")                                   //如果找到
                        {
                            xe2.InnerText = "亚胜";                                 //则修改
                            break;                                                  //找到退出来就可以了
                        }
                    }
                    break;
                }
            }

            xmlDoc.Save("bookstore.xml");//保存。

        }

        /// <summary>
        /// 删除记录
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button2_Click(object sender, EventArgs e)
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load("bookstore.xml");                       // 载入xml文件
            XmlNodeList xnl = xmlDoc.SelectSingleNode("bookstore").ChildNodes;

            foreach (XmlNode xn in xnl)
            {
                XmlElement xe = (XmlElement)xn;

                if (xe.GetAttribute("genre") == "jujear")
                {
                    xe.RemoveAttribute("genre");//删除genre属性
                }
                else if (xe.GetAttribute("genre") == "update李赞红")
                {
                    xe.RemoveAll();//删除该节点的全部内容
                }
            }
            xmlDoc.Save("bookstore.xml");

        }

        private void button4_Click(object sender, EventArgs e)
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load("bookstore.xml");                       // 载入xml文件

            XmlNode xn = xmlDoc.SelectSingleNode("bookstore");

            XmlNodeList xnl = xn.ChildNodes;

            foreach (XmlNode xnf in xnl)
            {
                XmlElement xe = (XmlElement)xnf;
                Console.WriteLine(xe.GetAttribute("genre"));// 显示属性值
                Console.WriteLine(xe.GetAttribute("ISBN"));

                XmlNodeList xnf1 = xe.ChildNodes;
                foreach (XmlNode xn2 in xnf1)
                {
                    Console.WriteLine(xn2.InnerText);// 显示子节点点文本
                }
            }
        }

 

分享到:
评论

相关推荐

    C# XML操作类库(加强版)

    最近做项目,要用C#写,而且数据格式是那种节点套节点能把人套死的XML,看着都觉得晕,而且节点跳跃性很大,真心觉得单纯用环境自带的XMLDocument类完全达不到自己的需要,因为XML里面涉及到节点循环,循环里面又套...

    C# xml操作大全 【CSDN 3个例子】.

    首先,让我们来看看第一个示例——"C# XML操作代码大全.doc"。这个文档可能包含了C#处理XML的基本操作,如创建XML文档、读取XML内容、以及更新XML节点等。创建XML文档通常使用`System.Xml`命名空间中的`XmlDocument`...

    c#xml操作类

    本篇文章将深入探讨如何在C#中进行XML操作,主要基于提供的"XML操作类"的压缩包文件。 首先,XML操作类通常包含了读取、写入、解析和修改XML文档的一系列方法。在C#中,我们可以利用System.Xml命名空间下的类来实现...

    c# xml操作基类

    c# xml 操作 基类

    c# xml操作类

    c# xml 操作类c# xml 操作类c# xml 操作类c# xml 操作类

    C#XML操作类

    本篇文章将深入探讨如何使用C#进行XML操作,包括增加节点、更改属性等核心功能。 首先,让我们了解C#中的几个关键类,它们是处理XML的基础: 1. **XmlDocument**: 这个类提供了读取、写入和修改XML文档的功能。你...

    c# xml操作类.pdf

    ### C# XML操作类知识点详解 #### 一、引言 在C#中处理XML文档是一种常见的需求,尤其是在需要解析配置文件或与Web服务交互时。本文将详细介绍一个C#中的XML操作类,并通过该类的方法来理解如何使用C#进行基本的...

    C# xml操作汇总

    C# xml操作 using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument(); //导入指定xml文件 xml.Load(path); xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml"));

    C# 对 XMl操作例子

    本篇文章将深入探讨如何利用C#的`XmlDocument`对象来操作XML文档,以实现数据的读取、修改和写入。 首先,让我们了解`XmlDocument`的基本用法。在C#中,你可以通过以下方式创建一个`XmlDocument`实例: ```csharp ...

    C#XML操作代码大全.pdf

    在C#中操作XML文档是一个常见的任务,涉及到创建、读取、更新和删除XML文档中的数据。本文将详细解读C#操作XML的代码实例,包括使用XmlDocument类和DataSet类进行XML数据的处理。以下知识点将根据提供的部分内容进行...

    C# XML操作类库

    最近做项目,要用C#写,而且数据格式是那种节点套节点能把人套死的XML,看着都觉得晕,而且节点跳跃性很大,真心觉得单纯用环境自带的XMLDocument类完全达不到自己的需要,因为XML里面涉及到节点循环,循环里面又套...

    C# XML操作类,可用于存储软件参数

    C# XML操作类,可用于存储软件参数,当数据量不大时,可以摆脱数据库

    C#操作XML实例

    本教程将深入探讨如何使用C#来操作XML,以实现数据的读取、写入和修改。 首先,让我们了解C#中处理XML的基本类库:System.Xml命名空间。这个命名空间包含了用于处理XML文档的各种类,如XmlDocument、XmlNode、...

    c# XML操作类源码 添加节点 修改节点 删除节点 导出gridview gridview导入成xml 相对完整 可以参考下

    首先,我们关注的是XMLOperator.cs这个文件,它是一个专门处理XML操作的类。此类通常会包含一系列的方法,用于执行XML文件的基本操作。以下是一些关键方法的示例: 1. **添加节点**: 添加节点的方法通常会接收一...

    C#xml操作示例

    本示例将重点探讨如何在C#中进行XML操作。 首先,C#中的System.Xml命名空间提供了丰富的类库来处理XML文档,如XmlNode、XmlElement、XmlDocument等。使用XmlDocument类,我们可以加载XML文件,然后进行解析、查询、...

    C#操作XML完整demo

    在进行XML操作时,还需要关注XML命名空间(xmlns)的处理,以及错误处理和异常处理,确保在遇到无效的XML结构或者无法访问文件时,程序能正常运行并给出相应的反馈。 总结起来,"C#操作XML完整Demo"项目旨在教授...

    c# 下xml操作类

    c#下操作xml文件类,方便调用操作。 xml操作日趋常见,xml格式相对规范,通过xml存储信息更加方法,采用该类可以方便操作。

    C#操作XML文件完整源码2019

    下面我们将深入探讨一些关键的C# XML操作知识点: 1. **读取XML文件**:可以使用`XmlDocument`类加载XML文件。例如: ```csharp XmlDocument doc = new XmlDocument(); doc.Load("path_to_xml_file.xml"); ``` ...

Global site tag (gtag.js) - Google Analytics