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. 工作总结:检查字符串合法性(C++)

    BOOL CLiftCtrlModbusConfigDlg::CheckValid(const CString &str) { ASSERT(str.GetLength() > ); ] ...

  2. WIN版的Jenkins Master加入LINUX的SLAVE节点,并作C++程序的集成交付

    这次深撸了一下JENKINS的配置,不敢说完全通了. 但对于整个体系,有了更新认识. 将LINUX作为SLAVE节点加入WIN的JENKINS里,网上有很多教程,依作即可. 在将相关任务分配给这个节点 ...

  3. java 和javaw 的区别——<转>

    java 和javaw 的区别 javaw.exe用法和java.exe 相同 javaw的程序不在java console 上面显示任何东西,如果在开发程序,就用java,这样可以看到错误提示, 如 ...

  4. C#程序设计基础——运算符与表达式

    运算符就是完成操作的一系列符号,它主要包括算术运算符.赋值运算符.关系运算符.逻辑运算符.条件运算.位操作运算符和字符串运算符. 表达式就是运算符和操作数的组合,如a*b+1-c.表达式主要包括算术表 ...

  5. 查看Redis信息和状态

    原文转自:http://redisdoc.com/server/info.html INFO [section] 以一种易于解释(parse)且易于阅读的格式,返回关于 Redis 服务器的各种信息和 ...

  6. Linux负载均衡软件LVS之一(概念篇)

    一. LVS简介 LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器, 是一个由章文嵩博士发起的自由软件项目,它的官方站点是www.linuxvirtualserver ...

  7. 【Gzip】

    为你的网站开启 gzip 压缩功能(nodejs.nginx) Do not forget to use Gzip for Express.js 网页GZIP压缩检测

  8. Android的一个自定义的动态添加Dialog类

    android里面会有自己内置的Dialog的提示框,也算是比较方便的了,但是为了省点时间,我们在项目里面添加了一个自己的Dialog类,这个类实现了能够动态的添加按钮和一些提示语句或者其他的显示效果 ...

  9. Python 实时日志平台 Sentry

    原文地址:http://www.oschina.net/p/sentry Sentry 是一个实时的事件日志和聚合平台,基于 Django 构建. Sentry 可以帮助你将 Python 程序的所有 ...

  10. Using Apache Web Server with Jboss AS 7

    In real-world projects, it's common to find Apache web server as a front door to your application se ...