C#中 添加 删除 查找Xml中子节点
//添加xml节点
private void AddXml(string image, string title)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("../flash/dati.xml"));
XmlElement xe1 = xmlDoc.CreateElement("thumb");//创建一个<thumb>节点
xe1.SetAttribute("displayNum", "6");//设置该节点displayNum属性
xe1.SetAttribute("separation", "5");//设置该节点separation属性
xesub1.InnerText = image;//设置文本节点
xe1.AppendChild(xesub1);//添加到thumb节点中
XmlElement xesub2 = xmlDoc.CreateElement("description");
xesub2.InnerText = title;
xe1.AppendChild(xesub2);
xmlDoc.Save(Server.MapPath("../flash/dati.xml"));
}
{
//初始化XML文档操作类
XmlDocument myXml = new XmlDocument();
//加载指定的XML文件
myXml.Load(FileName);
//添加元素-姓名
XmlElement ele0 = myXml.CreateElement("name");
XmlText Text0 = myXml.CreateTextNode(name);
//添加元素-年龄
XmlElement ele1 = myXml.CreateElement("age");
XmlText Text1 = myXml.CreateTextNode(age);
//添加元素-性别
XmlElement ele2 = myXml.CreateElement("sex");
XmlText Text2 = myXml.CreateTextNode(sex);
//添加元素的节点---studentRecord
XmlNode newElem = myXml.CreateNode("element", "studentRecord", "");
//在节点中添加元素
newElem.AppendChild(ele0);
newElem.LastChild.AppendChild(Text0);
newElem.AppendChild(ele1);
newElem.LastChild.AppendChild(Text1);
newElem.AppendChild(ele2);
newElem.LastChild.AppendChild(Text2);
//将节点添加到文档中
XmlElement root = myXml.DocumentElement;
root.AppendChild(newElem);
//保存所有的修改
myXml.Save(FileName);
}
private void DelXml(string image)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("../flash/dati.xml"));
foreach (XmlNode xn in xnl)
{
XmlElement xe = (XmlElement)xn;
if (xe.InnerText.IndexOf(image,0) >= 0)
{
xn.ParentNode.RemoveChild(xn);
// xn.RemoveAll();
}
}
xmlDoc.Save(Server.MapPath("../flash/dati.xml"));
}
{
XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
if(xe.GetAttribute("genre")=="")// 判读条件
{
xe.SetAttribute("genre",newStr);//则修改该属性为newstr
XmlNodeList nls=xe.ChildNodes;//继续获取xe子节点的所有子节点
foreach(XmlNode xn1 in nls)//遍历
{
XmlElement xe2=(XmlElement)xn1;//转换类型
if(xe2.Name=="author")//如果找到 //判读条件
{
xe2.InnerText=newText;//则修改
break;//找到退出来就可以了
}
}
break;
}
private void WriteXML()
{
XmlTextWriter xtw = new XmlTextWriter(@"MessageBook\Data\MessageBook1.xml"), null);
xtw.Formatting = Formatting.Indented;
xtw.WriteStartDocument();
//xtw.WriteComment();
xtw.WriteStartElement("Item");
xtw.WriteElementString("UserName", "Tom");
xtw.WriteEndElement();
xtw.WriteEndDocument();
xtw.Close();
}
//读XML
private void ReadXML()
{
// 创建一个XmlTextReader类的对象并调用Read方法来读取XML文件
XmlTextReader textReader = new XmlTextReader("C:\\books.xml");
textReader.Read();
// 节点非空则执行循环体
while ( textReader.Read() )
{
// 读取第一个元素
textReader.MoveToElement();
Console.WriteLine("XmlTextReader Properties Test");
Console.WriteLine("===================");
// 读取该元素的属性并显示在控制台中
Console.WriteLine("Name:" + textReader.Name);
Console.WriteLine("Base URI:" + textReader.BaseURI);
Console.WriteLine("Local Name:" + textReader.LocalName);
Console.WriteLine("Attribute Count:" + textReader.AttributeCount.ToString());
Console.WriteLine("Depth:" + textReader.Depth.ToString());
Console.WriteLine("Line Number:" + textReader.LineNumber.ToString());
Console.WriteLine("Node Type:" + textReader.NodeType.ToString());
Console.WriteLine("Attribute Count:" + textReader.Value.ToString());
}
C#中 添加 删除 查找Xml中子节点的更多相关文章
- 向redis中添加删除list列表
转: 向redis中添加删除list列表 2018年04月18日 15:44:54 luo_yu_1106 阅读数:4082 一.添加 向redis中添加队列有两种方式 1.lpush l是lef ...
- redis cluster中添加删除重分配节点例子
redis cluster配置好,并运行一段时间后,我们想添加节点,或者删除节点,该怎么办呢. 一,redis cluster命令行 //集群(cluster) CLUSTER INFO 打 ...
- ORACLE中添加删除主键
本文转自:http://blog.chinaunix.net/uid-17079336-id-2832443.html 1.创建表的同时创建主键约束(1)无命名create table student ...
- 如何管理和记录 SSIS 各个 Task 的开始执行时间和结束时间以及 Task 中添加|删除|修改的记录数
开篇语 在这篇日志中 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架 我介绍到了包级别的日志管理框架,那么这个主要是针对包这一个层级的 Log 信息,包括包开始执行和结束时间,以 ...
- mysql 在已存在的表中添加/删除字段约束AUTO_INCREMENT遇到的问题
1. 在已存在的表中添加字段约束AUTO_INCREMENT修饰符 mysql> alter table user modify uid int auto_increment primary k ...
- easyui中在formatter: function (value, row,index) {中添加删除方法
{ field : 'abj', title : '操作', align : 'center', resizable:false, width:'10%', formatter: function ( ...
- linux centos中添加删除修改环境变量,设置java环境变量
前言 安装完软件必要添加环境变量.指令很少,然而长时间不写就会不自信:我写的对吗?于是百度开始,于是发现又是各有千秋.好吧,好记星不如烂笔头.当然,最重要的是,百度出来的都他妈的是如何添加环境变量,只 ...
- Ext.tree.Panel Extjs 在表格中添加树结构,并实现节点移动功能
最近在用Extjs 做后台管理系统,真的非常好用.总结的东西分享一下. 先展示一下效果图 好了,开始吧! 首先说一下我的创建结构: 一.构造内容 这个函数中包括store的创建,treePanel的创 ...
- 在 UITextField 中添加删除绑定(绑定删除)
要解决的问题 在输入框中,需要整体删除诸如 “xxx@xx.com” 或 “@xxxx” 等文本 实现思路 在删除动作时,获取到当前光标的位置,如果在光标正在处在上述文本范围内,就删除一整串文本 如何 ...
随机推荐
- BZOJ_3489_ A simple rmq problem_KDTree
BZOJ_3489_ A simple rmq problem_KDTree Description 因为是OJ上的题,就简单点好了.给出一个长度为n的序列,给出M个询问:在[l,r]之间找到一个在这 ...
- 「LuoguP1379」 八数码难题(迭代加深
[P1379]八数码难题 - 洛谷 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给出一种 ...
- C++之const类成员变量,const成员函数
const修饰类的成员函数 const修饰变量一般有两种方式:const T *a,或者 T const *a,这两者都是一样的,主要看const位于*的左边还是右边,这里不再赘述,主要来看一下当co ...
- 实用的MVVM:ImageView
最近在学习WPF,遇到一本入门好书,推荐给大家<Windows Presentation Foundation 4.5 Cookbook> 做项目首先要从MVVM开始,现在把他的Simpl ...
- 关于layer.open() 弹框的使用
在用 layer.open() 追加渲染HTML的时候,完全看不到效果,皆因layui框架需要在最后用 form.render() 方法来渲染表单才可以看到效果,写法如下: <script> ...
- Algorithm-4th part I 学习进度 (7/12)
在cousera跟着书的原作者学习<算法>第四版.记录以下学习进度. 课后习题代码见我的GitHub 2018.09.22 : Priority Queues 使用完全二叉树实现优先队列 ...
- HUD-1548
A strange lift Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)To ...
- Lua 5.1.1 源代码阅读笔记
http://blog.csdn.net/hamenny/article/details/4506130
- JAVA基础--JAVA 集合框架(泛型、file类)16
一.集合总结 集合:Collection体系.Map体系. Collection体系:单列集合的共性操作规则. List:列表,可以重复,有下标,拥有特有的迭代器ListIterator. Array ...
- js引用类型的赋值
在开发中,有时候需要将数组或者对象的值赋予其他另一个变量,但是两个变量之间会相互影响,因为在将引用类型的值赋给其他变量时,赋予的其实是内存中的存储地址 var arr = [1,2,3,4,5] va ...