XML:

代码:

       //实例化
XmlDocument xmldc = new XmlDocument(); //加载xml文件,参数是路径。
xmldc.Load("C:/Users/Desktop/1.xml"); //获取根元素Company的节点列表
XmlNodeList nodelist = xmldc.SelectSingleNode("Company").ChildNodes; //1、查询已知绝对路径的节点(集)
//结果:获取了3个Employee节点
XmlNodeList objNodeList = xmldc.SelectNodes("Company/Department/Employee"); //2、返回第一个节点
//结果:3个节点中,只会取第一条
XmlNode objNode = xmldc.SelectSingleNode("/Company/Department/Employee"); //3、查询已知相对路径的节点(集)
//结果:第一个Department节点下的数据
objNode = xmldc.SelectSingleNode("Company/Department");
//结果:objNodeList未获取到数据(错误的)
objNodeList = xmldc.SelectNodes("../Department"); //4、查询已知元素名的节点(集)
//在使用不规则的层次文档时,由于不知道中间层次的元素名,可使用//符号来越过中间的节点,查询其子,孙或多层次下的其他所有元素。
//结果:获取了3个Employee节点
objNodeList = xmldc.SelectNodes("Company//Employee"); //5、查询属性(attribute)节点
//以上的各种方法都返回元素(element)节点(集),返回属性(attribute),只需要采用相应的方法,在属性名前加一个@符号即可
//结果:返回的Employee的属性带有Id的2条数据
objNodeList = xmldc.SelectNodes("Company/Department/Employee/@Id");
//结果:返回的属性带有Id的3条数据(指:Employee节点的2条,Department_Name1条)
objNodeList = xmldc.SelectNodes("Company//@Id"); //6、查询Text节点 使用text()来获取Text节点
//结果:返回的财务部数据
objNode = xmldc.SelectSingleNode("Company/Department/Department_Name/text()"); //7、查询特定条件的节点 使用[]符号来查询特定条件的节点。
//结果:返回李四的数据
objNode = xmldc.SelectSingleNode("Company/Department/Employee[@Id='1']");
//结果:返回王五的数据
objNode = xmldc.SelectSingleNode("//Employee[@Id='2']");
//结果:返回李四的数据
objNode = xmldc.SelectSingleNode("Company/Department/Employee/Name[text()='李四']");
//结果:返回财务部数据
objNode = xmldc.SelectSingleNode("Company/Department[Employee/@Id='2']/Department_Name"); //8、查询多重模式的节点
//使用 | 符号可以获得多重模式的节点。
//结果:获取到4条,分别是Department_Name2条,Manager2条。
objNodeList = xmldc.SelectNodes("Company/Department/Department_Name | Company/Department/Manager"); //9、查询任意子节点 使用*符号可以返回当前节点的所有子节点。
//结果:获取Manager2条。
objNodeList = xmldc.SelectNodes("Company/*/Manager");
//结果:返回的InnerText里,有所有的xml内容
objNodeList = xmldc.ChildNodes; //XML数据的编辑
//增加一个元素的属性(attribute)节点
//结果:把值加到财务部里了。
XmlAttribute objNodeAttr = xmldc.CreateAttribute("id");
objNodeAttr.InnerText = "";
objNode.Attributes.Append(objNodeAttr); //删除一个元素的属性
objNode.Attributes.Remove(objNodeAttr);
       //保存该XML文件
xmldc.Save("C:/Users/Desktop/1.xml"); //增加一个子元素(Element)(错误的,以后改)
//objNodeChild = xmldc.CreateElement(Nothing, "ID", Nothing);

读写XML的更多相关文章

  1. C#读写xml文件的常用方法

    已知有一个XML文件(bookshop.xml)如下: <?xml version="1.0" encoding="gb2312" ?> <b ...

  2. PHP读写XML文件的四种方法

    PHP对XML文件进行读写操作的方法一共有四种,分别是:字符串方式直接读写.DOMDocument读写. XMLWrite写和XMLReader读.SimpleXML读写,本文将依次对这四种方法进行介 ...

  3. 在.net中序列化读写xml方法的总结

    在.net中序列化读写xml方法的总结 阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命 ...

  4. Linux Shell脚本读写XML文件

    在Linux下如何用Shell脚本读写XML?现有一个config.xml <?xml version="1.0" encoding="UTF-8"?&g ...

  5. ADO.NET 快速入门(六):读写 XML

    ADO.NET 和 DataSet 可以读写 XML Schema 和 XML.获取更多信息,请参考 How do I...Use XML and the DataSet?   DataSet 的 S ...

  6. C#_在.net中序列化读写xml方法的总结

    阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命名节点名称 列表和数组的序列化 列表和数 ...

  7. Java 读写XML文件 API--org.dom4j

    om4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,同时它也是一个开放源代码的软件 ...

  8. Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件

    Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...

  9. 三种读写XML的方法

    XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影.Xml是Internet环境中跨平台的,依赖于内 ...

  10. (转)在.net中序列化读写xml方法的总结

    阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命名节点名称 列表和数组的序列化 列表和数 ...

随机推荐

  1. ExtJS 4 类系统

    ExtJS 4的类系统(class system)进行了一次重大重构,ExtJS4的新架构就是基于这套新的类系统构建的,因此有必要先了解以下这个class system这篇文章分为四章 I: &quo ...

  2. Unity问答——NGUI怎么使用按键模拟鼠标点击?

    这篇博客源自我在泰课在线的回答.链接:http://www.taikr.com/group/1/thread/248 问:NGUI怎么模拟用代码模拟控制点击 答: 1. 这个问题问得好.因为在使用按键 ...

  3. HBase eclipse开发环境搭建

    伪分布式环境安装 事先本机必须部署好了伪分布式hadoop开发环境将Hbase/lib下的 hadoop-core-*.jar 与 hadoop保持一致. 将hadoop下的复制到hbase下将had ...

  4. BZOJ 3106 棋盘游戏

    Description 一个\(n \times n(n \le 2)\)棋盘上有黑白棋子各一枚.游戏者A和B轮流移动棋子,A先走. A的移动规则:只能移动白棋子.可以往上下左右四个方向之一移动一格. ...

  5. 【Java】对Web Service的理解

    WSDL(Web Service Description Language)是描述Web Service的语言. 你会怎样向别人介绍你的Web service有什么功能,以及每个函数调用时的参数呢?你 ...

  6. java学习之函数

    讲完了语句结构还有运算符.变量,下面我们来了解下函数. 那么什么是函数,函数的定义是怎样的呢? 函数的定义: 函数是指在类当中定义的一段有特殊功能的代码段,同时函数在类中也被成为方法. class F ...

  7. Linux下高并发网络编程

      Linux下高并发网络编程 1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时, 最高的并发数量都要受到系统对用户单一进程同时可打 ...

  8. Linux Shell编程(8)——变量详解

    不同与许多其他的编程语言,Bash不以"类型"来区分变量.本质上来说,Bash变量是字符串,但是根据环境的不同,Bash允许变量有整数计算和比较.其中的决定因素是变量的值是不是只含 ...

  9. Golang下通过syscall调用win32的dll(calling Windows DLLs from Go )

    很多同学比如我虽然很喜欢golang,但是还是需要调用很多遗留项目或者其他优秀的开源项目,这时怎么办呢?我们想到的方法是用package里的syscall结合cgo 注意此处有坑: 在我调试时显示no ...

  10. 代码讲解Android Scroller、VelocityTracker

    在编写自定义滑动控件时常常会用到Android触摸机制和Scroller及VelocityTracker.Android Touch系统简介(二):实例详解onInterceptTouchEvent与 ...