要想在web等程序中实现动态的数据内容给新(如网页中的Flash),不会更新xml文件中的节点(数据)是远远不够的,今天在这里说一个简单的xml文件的更新,方法比较基础,很适合初学者看的,保证一看就懂!

------------------程序环境下xml文件中的节点、元素

<items>
  <item 类别="娱乐" 品质="优">
    <title>毛著</title>
    <author>毛爷爷</author>
    <price>10.00</price>
  </item>
  <item 类别="文学" 品质="中">
    <title>流浪记</title>
    <author>三毛</author>
    <price>15.00</price>
  </item>
</items>

----------------------

下面是程序,这几天写的程序只需要复制到VS中就可以看到效果

……

using System.Xml;
using System.IO;
namespace WriteXml

{

class Program
    {
        static void Main(string[] args)
        {
            updatexml();//修改节点(数据)
        }

private static void updatexml()
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load("titles.xml");//加载xml文件,文件
            XmlNode xns = xmlDoc.SelectSingleNode("items");//查找要修改的节点

XmlNodeList xnl = xns.ChildNodes;//取出所有的子节点

foreach (XmlNode xn in xnl)
            {
                XmlElement xe = (XmlElement)xn;//将节点转换一下类型
                if (xe.GetAttribute("类别") == "文学")//判断该子节点是否是要查找的节点
                {
                    xe.SetAttribute("类别","娱乐")  ;//设置新值
                }
                else//为了有更明显的效果,所以不管是否是符合条件的子节点,我都给一个操作
                {
                    xe.SetAttribute("类别", "文学");
                }

XmlNodeList xnl2 = xe.ChildNodes;//取出该子节点下面的所有元素
                foreach (XmlNode xn2 in xnl2)
                {
                    XmlElement xe2 = (XmlElement)xn2;//转换类型
                    if (xe2.Name=="price")//判断是否是要查找的元素
                    {
                        if (xe2.InnerText == "10.00")//判断该元素的值并设置该元素的值
                            xe2.InnerText = "15.00";
                        else
                            xe2.InnerText = "10.00";
                    }
                    //break;//这里为了明显效果 我注释了break,用的时候不用,这个大家都明白的哈
                }
                //break;
            }
            xmlDoc.Save("titles.xml");//再一次强调 ,一定要记得保存的该XML文件
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine();
            Console.WriteLine();
            //readtext();//这个是为了更好的比对修改前和修改后的结果
        }

//读取Xml文件中的节点元素

private static void readtext()
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.Load("titles.xml");
            XmlNode xn = xmlDoc.SelectSingleNode("items");
 
               XmlNodeList xnl=xn.ChildNodes;

foreach (XmlNode xnf in xnl)
               {
                   XmlElement xe = (XmlElement)xnf;
                   Console.Write("类别  "+xe.GetAttribute("类别")+"     品质  ");//显示属性值
                   Console.WriteLine(xe.GetAttribute("品质"));

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

}

转:http://blog.sina.com.cn/s/blog_699337e60100kuix.html

C#程序中:如何修改xml文件中的节点(数据)的更多相关文章

  1. mybatis中的map.xml文件中sql语句需要分号吗?

    mybatis中的map.xml文件中sql语句需要分号吗? :你是说sql介绍的分号吗?不需要的

  2. C#窗体中读取修改xml文件

    由于之前没有操作过xml文件,尤其是在窗体中操作xml,脑子一直转不动,而且很抵制去做这个功能,终于还是突破了自己通过查询资料完成了这个功能,在此记录一下自己的成果. 功能说明:程序中存在的xml文件 ...

  3. pyqt5_实例:修改xml文件中节点值

    需求: 将类似如下xml文件的externalid节点值修改成不重复的值 实现该功能的代码Func.py: #coding=utf-8 ''' Created on 2019年10月15日 @auth ...

  4. Spring MVC框架下在java代码中访问applicationContext.xml文件中配置的文件(可以用于读取配置文件内容)

    <bean id="propertyConfigurer" class="com.****.framework.core.SpringPropertiesUtil& ...

  5. eclipse 中忽略jsp, xml文件中的报错信息

    有的时候, 在eclipse中, jsp, xml 文件时运行的好好的, 可是就是在eclipse中报错, 虽然不影响功能, 但看起来很烦, 去掉这些错误警告的方法是: Windows-Prefere ...

  6. SSM框架中的Mapper.xml文件中的增、删、改、查等操作

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...

  7. 通俗易懂,C#如何安全、高效地玩转任何种类的内存之Span的脾气秉性(二)。 异步委托 微信小程序支付证书及SSL证书使用 SqlServer无备份下误删数据恢复 把list集合的内容写入到Xml中,通过XmlDocument方式写入Xml文件中 通过XDocument方式把List写入Xml文件

    通俗易懂,C#如何安全.高效地玩转任何种类的内存之Span的脾气秉性(二).   前言 读完上篇<通俗易懂,C#如何安全.高效地玩转任何种类的内存之Span的本质(一).>,相信大家对sp ...

  8. C#中操作xml文件(插入节点、修改、删除)

    已知有一个xml文件(bookstore.xml)如下: <?xml version="1.0" encoding="gb2312"?> <b ...

  9. C#程序中:如何删除xml文件中的节点、元素。

    C#中动态的清理xml文件中的垃圾信息是程序员必会的哦.这就像数据库一样,不会清理数据怎么可以呢?其实xml文件就可以用作一个小的数据库,存储一些简单的信息.所以,用C#程序实现xml文件的增.删.改 ...

随机推荐

  1. 最小生成树之算法记录【prime算法+Kruskal算法】【模板】

    首先说一下什么是树: 1.只含一个根节点 2.任意两个节点之间只能有一条或者没有线相连 3.任意两个节点之间都可以通过别的节点间接相连 4.除了根节点没一个节点都只有唯一的一个父节点 5.也有可能是空 ...

  2. oninput,onpropertychange,onchange的用法和区别

    1.前言 由于工作需要,需实现一个类似于微博输入框的功能,在用户动态输入文字的时候,修改提示“您还可以输入XX字”.如下图所示: 因此,稍微研究了一下oninput,onpropertychange, ...

  3. UVa 567: Risk

    这是一道很简单的图论题,只要使用宽度优先搜索(BFS)标记节点间距离即可. 我的解题代码如下: #include <iostream> #include <cstdio> #i ...

  4. python如何使用 os.path.exists()--Learning from stackoverflow 分类: python 2015-04-23 20:48 139人阅读 评论(0) 收藏

    Q&A参考连接 Problem:IOError: [Errno 2] No such file or directory. os.path.exists() 如果目录不存在,会返回一个0值. ...

  5. OPENCV中滑动条的使用

    //文中存在两种不同的图像的平滑类型.一类是彩色图像,还有一类是灰度图像.经证明,两种均能够 #include<cv.h> #include<highgui.h> #inclu ...

  6. [Redux] Fetching Data on Route Change

    We will learn how to fire up an async request when the route changes. A mock server data: /** /api/i ...

  7. 【HDU】5247-找连续数(直接暴力)

    ORZ,这道题想复杂了,原来直接暴力就能够了复杂度为 n * n * logn #include<cstdio> #include<set> #include<algor ...

  8. oracle13 触发器 变量

    触发器   触发器是指隐含的执行的存储过程.当定义触发器时,必须要指定触发的事件和触发的操作,常用的触发事件包括insert,update,delete语句,而触发操作实际就是一个pl/sql块.可以 ...

  9. CXF整合Spring开发WebService

    刚开始学webservice时就听说了cxf,一直没有尝试过,这两天试了一下,还不错,总结如下: 要使用cxf当然是要先去apache下载cxf,下载完成之后,先要配置环境变量,有以下三步: 1.打开 ...

  10. 数字证书简介及Java编码实现

    1.数字证书简介 数字证书具备常规加密解密必要的信息,包含签名算法,可用于网络数据加密解密交互,标识网络用户(计算机)身份.数字证书为发布公钥提供了一种简便的途径,其数字证书则成为加密算法以及公钥的载 ...