当前位置:  编程技术>.net/c#/asp.net

c#操作xml的代码(插入节点、修改节点、删除节点等)

    来源: 互联网  发布时间:2014-08-30

    本文导语:  bookstore.xml文件内容:   代码示例: Oberon's Legacy Corets, Eva 5.95 1、往节点中插入一个节点:   代码示例: XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load("bookstore.xml"); XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找 XmlElement xe1=xml...

bookstore.xml文件内容:
 

代码示例:



Oberon's Legacy
Corets, Eva
5.95

1、往节点中插入一个节点:
 

代码示例:

XmlDocument xmlDoc=new XmlDocument();
xmlDoc.Load("bookstore.xml");
XmlNode root=xmlDoc.SelectSingleNode("bookstore");//查找
XmlElement xe1=xmlDoc.CreateElement("book");//创建一个节点
xe1.SetAttribute("genre","李赞红");//设置该节点genre属性
xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性

XmlElement xesub1=xmlDoc.CreateElement("title");
xesub1.InnerText="CS从入门到精通";//设置文本节点
xe1.AppendChild(xesub1);//添加到节点中
XmlElement xesub2=xmlDoc.CreateElement("author");
xesub2.InnerText="候捷";
xe1.AppendChild(xesub2);
XmlElement xesub3=xmlDoc.CreateElement("price");
xesub3.InnerText="58.3";
xe1.AppendChild(xesub3);

root.AppendChild(xe1);//添加到节点中
xmlDoc.Save("bookstore.xml");

//-----
结果为:
 

代码示例:



Oberon's Legacy
Corets, Eva
5.95


CS从入门到精通
候捷
58.3

2、修改节点:将genre属性值为“李赞红“的节点的genre值改为“update李赞红”,将该节点的子节点的文本修改为“亚胜”。
 

代码示例:

XmlNodeList nodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点
foreach(XmlNode xn in nodeList)//遍历所有子节点
{
XmlElement xe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
if(xe.GetAttribute("genre")=="李赞红")//如果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");//保存。

//-----
最后结果为:
 

代码示例:



Oberon's Legacy
Corets, Eva
5.95


CS从入门到精通
亚胜
58.3

3、删除 节点的genre属性,删除 节点。
 

代码示例:

XmlNodeList xnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes;

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

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

//-----
最后结果为:
 

代码示例:



Oberon's Legacy
Corets, Eva
5.95



4、显示所有数据。
 

代码示例:

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);//显示子节点点文本
}
}


    
 
 

您可能感兴趣的文章:

  • Jquery节点操作的几点知识
  • Jquery节点操作(插入,复制,替换,删除)举例
  • jQuery的DOM操作之删除节点示例
  • C#通过XML节点属性/属性值读取写入XML操作代码实例
  • java对XML文件的解析、节点的增加、删除操作总结
  • 创建二叉树 二叉树如何删除节点操作教程
  • c#对象中两种copy操作:深拷贝(Deep Copy)与浅拷贝(Shallow Copy)
  • c#的时间日期操作示例分享(c#获取当前日期)
  • .NET下 c#通过COM组件操作并导出Excel实例代码
  • C#操作txt文件,进行清空添加操作的小例子
  • C#实现装箱与拆箱操作简单实例
  • 浅谈C#互操作的内存溢出问题
  • C# 中的??操作符浅谈
  • c#剪切板操作的简单实例
  • c# 调用Surfer软件,添加引用的具体操作方法
  • c#异步task示例分享(异步操作)
  • c#下注册表操作的一个小细节
  • C#操作CLOB大对象的代码一例
  • c#判断操作系统位数实例代码
  • 一些关于c#与Sql的时间的操作
  • c#判断操作系统位数的示例分享
  • C#中的位操作小结
  • C# 操作符之三元操作符浅析
  • C# Dictionary操作范例(入门新手参考)
  • C#的WebBrowser操作frame实例解析
  • C# Winform 操作 INI 配置文件的实现代码
  • C#程序最小化到托盘图标操作步骤与实现代码
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ stl队列Queue用法介绍:删除,插入等操作代码举例
  • 有没有在jsp中实现对tree型结构进行删除、插入操作
  • c++ STL关联式容器Map成员函数介绍及查找(find()),插入(insert()),删除(erase())等操作代码举例
  • java 对树的操作,TreeSet,能否插入相同的数据,如果相同,如何解决
  • linux下如何对文本文件和记录文件进行插入删除操作啊?
  • 在Linux中如何对文本文件进行改写、插入等操作?
  • fedora 中插入u盘,使用后,如何切断u盘的电源,这样u盘不带电操作,就像windows中的那样
  • jsp中对数据库进行插入操作,怎么也插不进去?
  • C++操作MySQL大量数据插入效率低下的解决方法
  • 小妹求教!!关于jsp操作oracle数据库操作的问题(文件读取,插入数据库表相应字段中)
  • python文件读写并使用mysql批量插入示例分享(python操作mysql)
  • java操作mysql入门代码实例(含插入、更新和查询)
  • 简单的二叉树插入操作,断错误一星期了~快疯掉了~~望高人指点
  • C语言实现带头结点的链表的创建、查找、插入、删除操作
  • SQL直接操作excel表(查询/导入/插入)
  • c语言链表基本操作(带有创建链表 删除 打印 插入)
  • C++实现数组的排序/插入重新排序/以及逆置操作详解
  • jsp连接MySQL实现插入insert操作功能示例
  • python数据库操作常用功能使用详解(创建表/插入数据/获取数据)
  • c++双向链表操作示例(创建双向链、双向链表中查找数据、插入数据等)
  • Python操作sqlite3快速、安全插入数据(防注入)的实例
  • C++ Stacks(堆栈) 成员 操作:比较和分配堆栈
  • 谁有操作系统PV操作的例子???谁有操作系统PV操作的例子???谢谢!!
  • C++ Strings(字符串) 成员 Operators:操作符,用于字符串比较和赋值
  • 已安装了Windows操作系统,还想安装Linux。却还想在开机选择操作系统时由Windows引导,请问如何操作。在线等待
  • C++ I/O 成员 flags():操作flags
  • 请问LINUX操作系统是怎样对外围设备进行操作的
  • C++ I/O 成员 width():操作域宽度
  • 什么样的操作最耗费服务器的IO操作?
  • Xcode介绍及创建工程和工程依赖操作步骤
  • 无操作系统下对U盘的操作


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3