C# XmlDocument处理XML元素节点
前言
想修改一个XML文件的属性值,简单的代码实现
一、XmlDocument
Net中的XmlDocument类。它支持并扩展了W3C XML DOM标准。可使用此类在文档中加载、验证、编辑、添加和放置 XML。
它将整个XML文档都先装载进内存中,然后再对XML文档进行操作,所以如果XML文档内容过大,不建议使用XmlDocument类,因为会消耗过多内存。
对于很大的XML文档,可以使用XmlReader类来读取。因为XmlReader使用Steam(流)来读取文件,任何时候在内存中只有当前节点,但它也有它的不足,它是只读的,仅向前的,不能在文档中执行向后导航操作,所以不会对内存造成太大的消耗。
1.简单流程
使用XmlDocument读取XML,并遍历根节点下的所有子节点,将XmlNode节点转为XmlElement进行处理。
2.XmlNode和XmlElement的区别
1、通过继承关系XmlElement继承自XmlLinkedNode又继承自XmlNode类,由此可知XmlElement是XmlNode的子类。我们知道子类继承了父类所有的属性和方法,因此,XmlNode所拥有的方法和属性,在XmlElement类中也是可以使用的。
2、XmlElement是特殊的XmlNode类,Xml节点有多种类型:属性节点、注释节点、文本节点、元素节点等。也就是XmlNode是这多种节点的统称。但是XmlElement专门指的就是元素节点。
二、代码
1.简单代码
代码如下(示例):
// 采用XmlDocument操作XML
XmlDocument doc = new XmlDocument();
doc.Load(@"Monster-S17-2-2.xml");
// 获取根节点
XmlNode root = doc.SelectSingleNode("MonsterList");
// 获取根节点下的所有子节点
XmlNodeList child = root.ChildNodes;
// 循环遍历修改XML文件
foreach (XmlNode children in child)
{
// 得到web节点的所有子节点
XmlElement xe = (XmlElement)children;//将节点转换一下类型
SetXml(xe, "MaxLife",5);
SetXml(xe, "DamageMin", 3.5f);
SetXml(xe, "DamageMax", 2.5f);
SetXml(xe, "DamageMax", 2.5f);
SetXml(xe, "ElementalDefense", 6);
SetXml(xe, "ElementalDamageMin", 1.6f);
SetXml(xe, "ElementalDamageMax", 1.6f);
}
// 保存修改
doc.Save(@"Monster-S17-2-3.xml");
public static void SetXml(XmlElement xe, string node,float times)
{
string sMaxlife = xe.GetAttribute(node);
int nodeData = int.Parse(sMaxlife);
nodeData = (int)(nodeData * times);
xe.SetAttribute(node, nodeData.ToString());
}
总结
第一次写博客,以后想将学习到的东西都记录下来
当笔记去用。 😃
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhghejhf
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13