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

C# 对XML操作入门实例

    来源: 互联网  发布时间:2014-10-18

    本文导语:  已知有一个XML文件(bookstore.xml)如下:  代码如下:    Oberon'sLegacy Corets,Eva 5.95     1、往节点中插入一个节点:  代码如下: XmlDocumentxmlDoc=newXmlDocument(); xmlDoc.Load("bookstore.xml"); XmlNoderoot=xmlDoc.SelectSingleNode("bookstore");//查...

已知有一个XML文件(bookstore.xml)如下:

 
代码如下:

 
 
 
 Oberon'sLegacy
 Corets,Eva
 5.95
 
 
 

 1、往节点中插入一个节点:
 
代码如下:

 XmlDocumentxmlDoc=newXmlDocument();
 xmlDoc.Load("bookstore.xml");
 XmlNoderoot=xmlDoc.SelectSingleNode("bookstore");//查找
 XmlElementxe1=xmlDoc.createElement_x("book");//创建一个节点
 xe1.SetAttribute("genre","李赞红");//设置该节点genre属性
 xe1.SetAttribute("ISBN","2-3631-4");//设置该节点ISBN属性

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

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

 

 //================
 结果为:

 
 
代码如下:


 
 
 
 Oberon'sLegacy
 Corets,Eva
 5.95
 
 
 CS从入门到精通
 候捷
 58.3
 
 
 

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

 
代码如下:

 XmlNodeListnodeList=xmlDoc.SelectSingleNode("bookstore").ChildNodes;//获取bookstore节点的所有子节点
 foreach(XmlNodexninnodeList)//遍历所有子节点
 {
 XmlElementxe=(XmlElement)xn;//将子节点类型转换为XmlElement类型
 if(xe.GetAttribute("genre")=="李赞红")//如果genre属性值为“李赞红”
 {
 xe.SetAttribute("genre","update李赞红");//则修改该属性为“update李赞红”

 XmlNodeListnls=xe.ChildNodes;//继续获取xe子节点的所有子节点
 foreach(XmlNodexn1innls)//遍历
 {
 XmlElementxe2=(XmlElement)xn1;//转换类型
 if(xe2.Name=="author")//如果找到
 {
 xe2.InnerText="亚胜";//则修改
 break;//找到退出来就可以了
 }
 }
 break;
 }
 }

 xmlDoc.Save("bookstore.xml");//保存。

 

 //=================

 最后结果为:

 
代码如下:

 
 
 
 Oberon'sLegacy
 Corets,Eva
 5.95
 
 
 CS从入门到精通
 亚胜
 58.3
 
 

 

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

 
代码如下:

 XmlNodeListxnl=xmlDoc.SelectSingleNode("bookstore").ChildNodes;

 foreach(XmlNodexninxnl)
 {
 XmlElementxe=(XmlElement)xn;

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

 //====================

 最后结果为:

 
代码如下:

 
 
 
 Oberon'sLegacy
 Corets,Eva
 5.95
 
 
 
 
 


 4、显示所有数据。

 
代码如下:

 XmlNodexn=xmlDoc.SelectSingleNode("bookstore");

 XmlNodeListxnl=xn.ChildNodes;

 foreach(XmlNodexnfinxnl)
 {
 XmlElementxe=(XmlElement)xnf;
 Console.WriteLine(xe.GetAttribute("genre"));//显示属性值
 Console.WriteLine(xe.GetAttribute("ISBN"));

 XmlNodeListxnf1=xe.ChildNodes;
 foreach(XmlNodexn2inxnf1)
 {
 Console.WriteLine(xn2.InnerText);//显示子节点点文本
 }
 }

    
 
 

您可能感兴趣的文章:

  • 操作xml,将xml数据显示到treeview的C#代码
  • C#读写xml文件的简单例子
  • 深入C#中使用SqlDbType.Xml类型参数的使用详解
  • c# xml API操作的小例子
  • 操作XML文档遇到的XMLNS问题及解决方法 (C# 和 PHP)
  • c#使用linq技术创建xml文件的小例子
  • C#读写xml配置文件(LINQ操作实例)
  • c# 读取XML文件的简单代码
  • C# 写入XML文档的三种方法与代码实例
  • c#中xml文档注释编译dll引用到其它项目示例
  • C# Linq读取XML文件的实例
  • C# WinForm开发中使用XML配置文件实例
  • c# DataSet转为XML时格式化字段数据的方法
  • C# DataSet的内容写成XML时如何格式化字段数据
  • c# 读取xml 冒号问题的解决方法
  • c#读取xml文件到datagridview实例
  • C# XML与Json之间相互转换实例详解
  • C#序列化成XML注意细节
  • C# 写入XML文档三种方法详细介绍
  • C#通过XML节点属性/属性值读取写入XML操作代码实例
  • 请问那有《UltraDev 4 JSP/XML 高级实例教程》下载?
  • python解析xml文件实例分享
  • 奇怪:我的xml文档encoding属性为gb2312,可是实例化为document后,被改为UTF-8
  • 请用一个小的实例来证明为什么要用XML?
  • Java:DocumentBuilderFactory调用XML的方法实例
  • Jquery Ajax解析XML数据(同步及异步调用)简单实例
  • java dom4j解析xml文件代码实例分享
  • java DOM4J 读取XML实例代码
  • python 解析XML python模块xml.dom解析xml实例代码
  • 编程语言 iis7站长之家
  • php的SimpleXML方法读写XML接口文件实例解析
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Python下Html/xml解析库Beautiful Soup快速入门教程
  • 入门jsp+xml难
  • 请问如何着手学j2ee, 我的基础Java程序设计(略懂),html,xml,请推荐些从入门到精通的书好吗?
  • SQLServer XML查询快速入门(18句话)
  • SQLServer XML查询18句话入门教程
  • java命名空间javax.xml类xmlconstants的类成员方法: xml_ns_prefix定义及介绍
  • 请问各位:我用SUN公司的JAXP开发包解析XML文档,可不知道对XML解析后如何将结果写回文件中。请各位熟悉Java和XML的高手帮忙。
  • java命名空间javax.xml类xmlconstants的类成员方法: xml_ns_uri定义及介绍
  • 如何新建立一个XML文件并且把别的XML文件引入到这个XML文件中(再线等待)
  • java命名空间javax.xml.transform类outputkeys成员方法: omit_xml_declaration定义参考
  • 看了半本,是关于java与xml编程的书,它用xml来代替数据库,试问,xml真的能开题数据库吗?(在性能方面)
  • java命名空间javax.xml类xmlconstants的类成员方法: xml_dtd_ns_uri定义及介绍
  • XML 能够 include吗?如何拆分很长的XML
  • java命名空间javax.xml类xmlconstants的类成员方法: w3c_xml_schema_ns_uri定义及介绍
  • Java 和XML 编程时,XML的DTD 放到哪?
  • java命名空间javax.xml类xmlconstants的类成员方法: w3c_xml_schema_instance_ns_uri定义及介绍
  • XML解析器 Mini-XML
  • java命名空间javax.xml.soap类soapmessage成员方法: write_xml_declaration定义参考
  • javax.xml中用什么方法和对象来接收request中的xml文档,急!
  • java命名空间javax.xml.stream接口xmlstreamreader成员方法: getversion定义参考
  • XML处理API VTD-XML
  • java命名空间javax.xml.stream.events接口startdocument成员方法: getversion定义参考
  • XML解析器 Expat XML Parser
  • java命名空间javax.xml.bind类jaxbelement<t>的类成员方法: scope定义及介绍
  • JavaScript的XML解析包 xml2array()
  • java命名空间javax.xml.transform.stream类streamsource成员方法: setreader定义参考
  • Java的XML解析器 xml-utilities


  • 站内导航:


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

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

    浙ICP备11055608号-3