读写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 重命名节点名称 列表和数组的序列化 列表和数 ...
随机推荐
- 谈谈Parser --王垠
一直很了解人们对于parser的误解,可是一直都提不起兴趣来阐述对它的观点.然而我觉得是有必要解释一下这个问题的时候了.我感觉得到大部分人对于parser的误解之深,再不澄清一下,恐怕这些谬误就要写进 ...
- XML CDATA
/* <![CDATA[ */var mv_dynamic_to_top = {"text":"To Top","version":& ...
- SOC
http://marsvaadin.iteye.com/blog/1311438 http://blog.csdn.net/cxxsoft/article/details/12610641
- 禁用窗体关闭按钮(使用GetWindowLong修改GWL_STYLE)
一般我们不想让窗体能够关闭, 首先想到的是在OnCloseQuery事件里设置CanClose := False, 不过在某些情况下这个会和程序关闭窗体的业务逻辑产生冲突 所以写了下面这个函数, 可以 ...
- mysql中的group_concat函数的用法
本文通过实例介绍了MySQL中的group_concat函数的使用方法,比如select group_concat(name) . MySQL中group_concat函数 完整的语法如下: grou ...
- 【HDOJ】2609 How many
循环同构的最小表示法. #include <cstdio> #include <cstring> #define MAXN 10005 #define MAXL 105 cha ...
- wikioi3363支线剧情(挖个坑,不会做。。。)
3363 支线剧情 题目描述 Description 宅男JYY非常喜欢玩RPG游戏,比如仙剑,轩辕剑等等.不过JYY喜欢的并不是战斗场景,而是类似电视剧一般的充满恩怨情仇的剧情.这些游戏往往都有很多 ...
- 数据结构(线段树):CodeForces 145E Lucky Queries
E. Lucky Queries time limit per test 3 seconds memory limit per test 256 megabytes input standard in ...
- Maximum Subarray——LeetCode
Find the contiguous subarray within an array (containing at least one number) which has the largest ...
- CodeForces 593A
题目链接: http://codeforces.com/problemset/problem/593/A 题意: 给你n个字符串,字符串只包含小写字母,从中选取任意个字符串,拼成一封信,这封信中至多有 ...