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

c#操作xml文件的实例(入门参考)

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

    本文导语:  XML文件(bookstore.xml),内容如下:         Oberon's Legacy     Corets, Eva     5.95   下面介绍几个操作实例,供大家参考。 1、往节点中插入一个节点:   代码示例: XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load("bookstore.xml"...

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

就是这些了,希望以上的介绍,可以帮助大家掌握xml文件的操作方法,祝大家学习进步。


    
 
 

您可能感兴趣的文章:

  • c#对象中两种copy操作:深拷贝(Deep Copy)与浅拷贝(Shallow Copy)
  • c#的时间日期操作示例分享(c#获取当前日期)
  • .NET下 c#通过COM组件操作并导出Excel实例代码
  • C#操作txt文件,进行清空添加操作的小例子
  • 移动开发 iis7站长之家
  • 浅谈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#程序最小化到托盘图标操作步骤与实现代码
  • Python文件操作类操作实例详解
  • PHP实现的连贯操作、链式操作实例
  • 大家帮我推荐些在linux下用c语言对数据库操作编程的实例或资料吧!谢谢!
  • yii操作cookie实例简介
  • 请问如何在自定然义的类中如MyClass,不用new这个操作符来产生一个这个类的实例
  • Linux操作系统下Oracle数据库多实例启动方式及修改内存
  • 数组循环移位操作实例
  • java文件操作代码片断实例实现统计文件中字母出现的个数功能
  • Android对sdcard扩展卡文件操作实例详解
  • C# WinForm中Panel实现用鼠标操作滚动条的实例方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Vxworks 嵌入式操作系统入门请教,请多指点!
  • 大家推荐一本Linux入门到精通的操作书籍?
  • 想好好学linux操作系统,请大家帮忙推荐本入门的好书,谢谢
  • 请问有没有基于Linux手机操作系统上的开发入门级好书,烦劳大伙推荐一下!
  • java怎么入门啊?各位用的是什么操作系统?
  • java操作mysql入门代码实例(含插入、更新和查询)
  • 菜鸟请问LINUX的操作系统光盘要怎么买?怎么安装?去哪里寻找相关入门书籍?
  • C# 对XML操作入门实例
  • asp.net Ftp操作类(简单入门)
  • async and await 的入门基础操作
  • ThinkPHP3.1数据CURD操作快速入门
  • python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
  • C++ Stacks(堆栈) 成员 操作:比较和分配堆栈
  • 谁有操作系统PV操作的例子???谁有操作系统PV操作的例子???谢谢!!
  • C++ Strings(字符串) 成员 Operators:操作符,用于字符串比较和赋值
  • 已安装了Windows操作系统,还想安装Linux。却还想在开机选择操作系统时由Windows引导,请问如何操作。在线等待
  • C++ I/O 成员 flags():操作flags
  • 请问LINUX操作系统是怎样对外围设备进行操作的
  • C++ I/O 成员 width():操作域宽度
  • 什么样的操作最耗费服务器的IO操作?
  • Xcode介绍及创建工程和工程依赖操作步骤
  • 无操作系统下对U盘的操作
  • MyEclipse如何查看和设置文件编码格式相关操作
  • 请问命令行操作下怎么改Linux操作系统的日期和时间?
  • Html checkbox标签如何设置默认选中以及用js操作checkbox代码示例
  • 正在学操作系统原理,做操作系统方面的实验用那种工具较好?
  • c/c++ 操作符优先级参考
  • 请问16位操作系统和32位操作系统的区别?
  • javascript操作html复选框checkbox:如何判断复选框是否被选中
  • 基于linux操作系统之上操作LCD问题,急???
  • Plesk 中操作和设置 Docker 容器


  • 站内导航:


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

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

    浙ICP备11055608号-3