XML文件读取、创建、操作
来源:互联网 发布:mac如何导出iphone照片 编辑:程序博客网 时间:2024/05/20 12:48
这个61850的项目中,用到了对XML文档的一些应用,包括XML文档的读取、创建。今天,将用到的东西做一个总结。
首先,来认识一下XML文档:
<bookstore><book genre="novel" ISBN="1-861001-57-5"><title>Pride And Prejudice</title></book><book genre="autobiography" publicationdate="1981" ISBN="1-861003-11-0"><title>The Autobiography of Benjamin Franklin</title><author><first-name>Benjamin</first-name><last-name>Franklin</last-name></author><price>8.99</price></book></bookstore>
以上,这一段XML是来自于MSDN中的例子。首先,XML文档是一个树形结构,由很多节点构成。认识XML文档是以后操作的基础,一下是自己的理解,说法可能有些不规范。
bookstore:为根节点;
book:为子节点,它里面的genre、ISBN为该节点的属性,"novel"、"1-861001-57-5"为属性值。
title:为book的儿子节点,Pride And Prejudice 为节点的Text值。
整体也就这些东西了,看起来是比较简单。
好了,我们看一下怎么读取XML文档,并获取相应的值。
第一步:利用Load函数装载XML文档,考虑到项目的XML文档不是太大,所以采用DOM的方式。项目实际用到的XML文档大多是40-50M,装载时间是2S,还是比较快。
XmlDocument doc2 = new XmlDocument();
doc2.Load("books.xml");
第二步,获取根节点:
XmlNode root = doc2.DocumentElement;
第三步,获取节点集。这里用到的类是XmlNodeList,例如获取某个节点的所有子节点。
XmlNodeList NodeList = root.ChildNodes;
对于节点集的获取,如果XML文档比较复杂的话,那XPath技术就能很好的体现出它的价值,列出自己常用的函数方法:
第一种绝对查找:即从根节点开始查找,name为IED节点的一个属性,它的值为Name。nsmgr是命名空间,如果你的XML文档中有命名空间的话,必须添加上,否则会查找不到你想要的节点集。
xPath = "/SCL/IED[@name='" +Name + "']/AccessPoint";
xPath = xPath.Replace("/", "/ns:");
XmlNodeList AccessList = root.SelectNodes(xPath, nsmgr);
foreach (XmlNode AccessNode in AccessList)
{}
第二种相对查找:为从当前节点往下查找。以./开头
xPath = "./Server/LDevice";
xPath = xPath.Replace("/", "/ns:");
XmlNodeList LDList = AccessNode.SelectNodes(xPath, nsmgr);
第四步,获取到 了节点集。接下来就是要获取节点的Text值,属性值。
获取Text值很简单:string str=XmlNode.InnerText就可以了;
对于节点属性值得获取,稍微有点麻烦。首先将XmlNode节点进行强制类型转换:name为节点的属性
XmlElement NodeEle = (XmlElement)XmlNode;
string str=Node.GetAttribute("name");
以上对于XML文档的获取,基本就这些,用起来很方便。
下一篇讲如果新建写入XML文档。
- XML文件读取、创建、操作
- 通过Dom4J操作(创建、读取和修改)XML文件
- XML文件操作--创建
- C#读取操作Xml文件
- .NET操作XML文件---[读取]
- rapidxml读取xml文件操作
- 操作Excel文件,读取,创建
- C# 创建,读取,写入 XML文件
- xml文件的创建和读取
- 用JAVA创建,读取XML文件
- c# 创建、读取、添加、修改xml文件
- c# 创建、读取、添加、修改xml文件
- 有关XML文件的创建与读取
- 用JAVA创建,读取XML文件
- C#中创建和读取XML文件
- tinyxml创建和读取xml文件
- 用JAVA创建,读取XML文件
- VC创建与读取XML文件
- 如何优化网站页面提高网页的加载速度
- 节点渲染顺序
- Android中getDimension,getDimensionPixelOffset和getDimensionPixelSize 区别
- 数据结构 第四章 字符串和多维数组
- 基于Lucene搜索的关键字应答
- XML文件读取、创建、操作
- cmd命令对oracle备份恢复
- ssh 登录到内网主机
- 记录一个 Velocity 模板引擎的缓存问题
- jquery 异步跨域请求后台数据
- c++初试-继承异常类(7)
- resteasy 上传图片
- android-AutoCompleteTextView使用
- JS中Number();parseInt();parseFloat()的用法及得到的结果。