77范文网 - 专业文章范例文档资料分享平台

C#操作XML方法集合

来源:网络收集 时间:2020-04-17 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

C#操作XML方法集合

一前言

先来了解下操作XML所涉及到的几个类及之间的关系 如果大家发现少写了一些常用的方法,麻烦在评论中指出,我一定会补上的!谢谢大家 * 1 XMLElement主要是针对节点的一些属性进行操作 * 2 XMLDocument主要是针对节点的CUID操作

* 3 XMLNode为抽象类,做为以上两类的基类,提供一些操作节点的方法

清楚了以上的关系在操作XML时会更清晰一点

二具体操作(C#)

以下会对Xml的结点与属性做增删改查的操作也满足了实际工作中的大部分情况 先构造一棵XML树如下,其中也涉及到了写入xml文档的操作

1publicvoidCreatXmlTree(stringxmlPath) 2 {

3XElementxElement = newXElement( 4newXElement(\, 5newXElement(\,

6newXElement(\, \入门\, newXAttribute(\, \)), 7newXElement(\, \, newXAttribute(\, \)), 8newXElement(\, \上海\),

9newXElement(\, DateTime.Now.ToString(\)) 10 ), 11newXElement(\,

12newXElement(\, \入门\, newXAttribute(\, \)), 13newXElement(\, \, newXAttribute(\, \)), 14newXElement(\, \北京\),

15newXElement(\, DateTime.Now.ToString(\)) 16 ) 17 ) 18 ); 19

20//需要指定编码格式,否则在读取时会抛:根级别上的数据无效。 第 1 行 位置 1异常

21XmlWriterSettings settings = newXmlWriterSettings(); 22settings.Encoding = newUTF8Encoding(false); 23settings.Indent = true;

24XmlWriterxw = XmlWriter.Create(xmlPath,settings); 25xElement.Save(xw); 26//写入文件 27xw.Flush(); 28xw.Close(); 29 }

然后得到如下的XML树

1 2 3

4

5 62013-10-11 7上海 82013-10-11 9 10

11 12 13北京 142013-10-11 15

16

以下操作都是对生成的XML树进行操作

2.1 新增节点与属性

新增节点NewBook并增加属性Name=\

1publicvoidCreate(stringxmlPath) 2 {

3XmlDocumentxmlDoc = newXmlDocument(); 4xmlDoc.Load(xmlPath); 5

6var root = xmlDoc.DocumentElement;//取到根结点

7XmlNodenewNode = xmlDoc.CreateNode(\, \, \); 8newNode.InnerText = \; 9

10//添加为根元素的第一层子结点 11root.AppendChild(newNode); 12xmlDoc.Save(xmlPath); 13 }

开篇有写操作xml节点属性主要用XmlElement对象所以取到结点后要转类型

1//属性

2publicvoidCreateAttribute(stringxmlPath) 3 {

4XmlDocumentxmlDoc = newXmlDocument(); 5xmlDoc.Load(xmlPath);

6var root = xmlDoc.DocumentElement;//取到根结点 7XmlElement node =

(XmlElement)xmlDoc.SelectSingleNode(\); 8node.SetAttribute(\, \); 9xmlDoc.Save(xmlPath); 10

11 }

效果如下

2.2 删除节点与属性

1publicvoidDelete(stringxmlPath) 2 {

3XmlDocumentxmlDoc = newXmlDocument(); 4xmlDoc.Load(xmlPath);

5var root = xmlDoc.DocumentElement;//取到根结点 6

7var element = xmlDoc.SelectSingleNode(\); 8root.RemoveChild(element); 9xmlDoc.Save(xmlPath); 10 }

删除属性

1publicvoidDeleteAttribute(stringxmlPath) 2 {

3XmlDocumentxmlDoc = newXmlDocument(); 4xmlDoc.Load(xmlPath); 5XmlElement node =

(XmlElement)xmlDoc.SelectSingleNode(\); 6//移除指定属性

7node.RemoveAttribute(\);

8//移除当前节点所有属性,不包括默认属性 9//node.RemoveAllAttributes(); 10xmlDoc.Save(xmlPath); 11 }

2.3 修改节点与属性

xml的节点默认是不允许修改的,本文也就不做处理了 修改属性代码如下

1publicvoidModifyAttribute(stringxmlPath) 2 {

3XmlDocumentxmlDoc = newXmlDocument(); 4xmlDoc.Load(xmlPath); 5XmlElement element =

(XmlElement)xmlDoc.SelectSingleNode(\); 6element.SetAttribute(\, \); 7xmlDoc.Save(xmlPath); 8 }

效果如下

2.4 获取节点与属性

1publicvoidSelect(stringxmlPath) 2 {

3XmlDocumentxmlDoc = newXmlDocument(); 4xmlDoc.Load(xmlPath); 5//取根结点

6var root = xmlDoc.DocumentElement;//取到根结点 7//取指定的单个结点

8XmlNodeoldChild = xmlDoc.SelectSingleNode(\); 9

10//取指定的结点的集合

11XmlNodeList nodes = xmlDoc.SelectNodes(\); 12

13//取到所有的xml结点

14XmlNodeListnodelist = xmlDoc.GetElementsByTagName(\); 15 }

属性

1publicvoidSelectAttribute(stringxmlPath) 2 {

3XmlDocumentxmlDoc = newXmlDocument();

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C#操作XML方法集合在线全文阅读。

C#操作XML方法集合.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/979803.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: