读写XML
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的更多相关文章
- C#读写xml文件的常用方法
已知有一个XML文件(bookshop.xml)如下: <?xml version="1.0" encoding="gb2312" ?> <b ...
- PHP读写XML文件的四种方法
PHP对XML文件进行读写操作的方法一共有四种,分别是:字符串方式直接读写.DOMDocument读写. XMLWrite写和XMLReader读.SimpleXML读写,本文将依次对这四种方法进行介 ...
- 在.net中序列化读写xml方法的总结
在.net中序列化读写xml方法的总结 阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命 ...
- Linux Shell脚本读写XML文件
在Linux下如何用Shell脚本读写XML?现有一个config.xml <?xml version="1.0" encoding="UTF-8"?&g ...
- ADO.NET 快速入门(六):读写 XML
ADO.NET 和 DataSet 可以读写 XML Schema 和 XML.获取更多信息,请参考 How do I...Use XML and the DataSet? DataSet 的 S ...
- C#_在.net中序列化读写xml方法的总结
阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命名节点名称 列表和数组的序列化 列表和数 ...
- Java 读写XML文件 API--org.dom4j
om4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个十分优秀的JavaXML API,具有性能优异.功能强大和极其易使用的特点,同时它也是一个开放源代码的软件 ...
- Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件
Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...
- 三种读写XML的方法
XML文件是一种常用的文件格式,例如WinForm里面的app.config以及Web程序中的web.config文件,还有许多重要的场所都有它的身影.Xml是Internet环境中跨平台的,依赖于内 ...
- (转)在.net中序列化读写xml方法的总结
阅读目录 开始 最简单的使用XML的方法 类型定义与XML结构的映射 使用 XmlElement 使用 XmlAttribute 使用 InnerText 重命名节点名称 列表和数组的序列化 列表和数 ...
随机推荐
- Kent Beck揭秘Facebook开发部署流程
http://www.infoq.com/cn/news/2013/10/facebook-development-deployment Facebook是世界上最大的社交网站,有超过10亿用户每月至 ...
- 用硬件(Verilog)实现二进制码和格雷码的转换
格雷码(Gray code)是1880年由法国工程师Jean-Maurice-Emlle Baudot发明的一种编码,是一种绝对编码方式,典型格雷码是一种具有反射特性和循环特性的单步自补码,它的循环. ...
- MVC---Case 1
<!DOCTYPE html> <html lang="en"> <head> <title>Backbone.js, Requir ...
- POJ-3693-Maximum repetition substring(后缀数组-重复次数最多的连续重复子串)
题意: 给出一个串,求重复次数最多的连续重复子串 分析: 比较容易理解的部分就是枚举长度为L,然后看长度为L的字符串最多连续出现几次. 既然长度为L的串重复出现,那么str[0],str[l],str ...
- Keepalived实现Redis Failover
一.环境说明 操作系统版本:RHEL 5.4_64 redis版本:2.8.17 keepalived版本:1.1.15 master:10.142.130.81 slave: 10.142.130 ...
- Android 安全测试
文章Android Security Tools对1~4的使用有介绍,下面主要分析其源码实现. 1.Manifest Explorer 2.Package Play Main.java public ...
- VSTS负载测试——如何:使用 SQL 创建结果存储区
原文地址:http://www.cnblogs.com/chenxizhang/archive/2009/06/01/1493939.html 原文参见:http://msdn.microsoft.c ...
- Reward(拓扑排序)
http://acm.hdu.edu.cn/showproblem.php?pid=2647 题意: 老板要给n个员工发工资最低工资是888: 但是工人们是有要求的 如果输入 a b 表示a的工资要比 ...
- Blue Jeans - POJ 3080(多串的共同子串)
题目大意:有M个串,每个串的长度都是60,查找这M个串的最长公共子串(连续的),长度不能小于3,如果同等长度的有多个输出字典序最小的那个. 分析:因为串不多,而且比较短,所致直接暴力枚举的第一个串 ...
- 关于oracle分页的一些想法
今天突然回想起oracle的分页查询,大部分情况大家都是用: SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) ...