C#程序中:如何修改xml文件中的节点(数据)
要想在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文件中的节点(数据)的更多相关文章
- mybatis中的map.xml文件中sql语句需要分号吗?
mybatis中的map.xml文件中sql语句需要分号吗? :你是说sql介绍的分号吗?不需要的
- C#窗体中读取修改xml文件
由于之前没有操作过xml文件,尤其是在窗体中操作xml,脑子一直转不动,而且很抵制去做这个功能,终于还是突破了自己通过查询资料完成了这个功能,在此记录一下自己的成果. 功能说明:程序中存在的xml文件 ...
- pyqt5_实例:修改xml文件中节点值
需求: 将类似如下xml文件的externalid节点值修改成不重复的值 实现该功能的代码Func.py: #coding=utf-8 ''' Created on 2019年10月15日 @auth ...
- Spring MVC框架下在java代码中访问applicationContext.xml文件中配置的文件(可以用于读取配置文件内容)
<bean id="propertyConfigurer" class="com.****.framework.core.SpringPropertiesUtil& ...
- eclipse 中忽略jsp, xml文件中的报错信息
有的时候, 在eclipse中, jsp, xml 文件时运行的好好的, 可是就是在eclipse中报错, 虽然不影响功能, 但看起来很烦, 去掉这些错误警告的方法是: Windows-Prefere ...
- SSM框架中的Mapper.xml文件中的增、删、改、查等操作
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...
- 通俗易懂,C#如何安全、高效地玩转任何种类的内存之Span的脾气秉性(二)。 异步委托 微信小程序支付证书及SSL证书使用 SqlServer无备份下误删数据恢复 把list集合的内容写入到Xml中,通过XmlDocument方式写入Xml文件中 通过XDocument方式把List写入Xml文件
通俗易懂,C#如何安全.高效地玩转任何种类的内存之Span的脾气秉性(二). 前言 读完上篇<通俗易懂,C#如何安全.高效地玩转任何种类的内存之Span的本质(一).>,相信大家对sp ...
- C#中操作xml文件(插入节点、修改、删除)
已知有一个xml文件(bookstore.xml)如下: <?xml version="1.0" encoding="gb2312"?> <b ...
- C#程序中:如何删除xml文件中的节点、元素。
C#中动态的清理xml文件中的垃圾信息是程序员必会的哦.这就像数据库一样,不会清理数据怎么可以呢?其实xml文件就可以用作一个小的数据库,存储一些简单的信息.所以,用C#程序实现xml文件的增.删.改 ...
随机推荐
- Yii 的AR单行数据自动缓存机制
相关的YII类: CActiveRecord CActiveRecordBehavior cache Active Record Active Record (AR) 是一个流行的 对象-关系映射 ( ...
- 激活Navicat?如何注册Navicat?
在注册界面里面输入信息 名:顺便输入 组织:顺便输入 注册码:NAVH-WK6A-DMVK-DKW3
- https_request请求接口返回数据
定义一个https_request方法 <?php function https_request($url, $data = null) { $curl = curl_init(); curl_ ...
- Unicode与 utf8的互相转换
<?php function unicode_encode($name) { $name = iconv('UTF-8', 'UCS-2', $name); $len = strlen($nam ...
- 一个使用C#的TPL Dataflow Library的例子:分析文本文件中词频
博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:一个使用C#的TPL Dataflow Library的例子:分析文本文件中词频.
- 【原创】javascript——prototype与__proto__
一定要注意这个概念:javascript世界里,万物皆对象, function是对象,prototyp也是对象. 新建构造函数,并实例 var Person = function(){} var ...
- 介绍几种大型的Oracle/SQL Server数据库免费版
我们知道,Oracle和SQL Server等大型数据库也都存在一些免费的版本,这些免费的版本已经能够满足许多中小项目的需求.对于在校大学生来说,从学习的目标上来讲,安装免费版的大型数据库也就足够用了 ...
- jquerymobile知识点:动态Grid的绑定以及刷新
下面jquerymobile是ajax动态绑定和刷新的例子.直接上图以及代码. 下面是实例代码: //初始绑定 function GetInitBind(PageIndex, PageSize, sq ...
- 经典SQL语句大全之数据开发
数据开发 1.按姓氏笔画排序:Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as //从少到多 ...
- CentOS 更新yum源
公司买了一台刀片机服务器,安装的系统版本太低,导致yum源不合适,安装就会报错. 在网上找了好长时间,才发现是yum源的问题. 转载原文: 突然想起试试 Docker,在一台计算机上安装了 Cen ...