【世界新视野】C#给xml文件添加带属性的父节点及子节点的方法
(资料图片仅供参考)
XML文件内容
xml操作代码示例:
using System.Collections;using System.Data;using System.Xml;using System.Xml.XPath;namespace xmltest{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { XML xml = new XML(Application.StartupPath + "\\config.xml"); string[] attstr = { "mac|08:00:27:00:D8:DC", "ip|192.168.1.1" }; string[] childstr = { "ip|192.168.1.1","name|BBQ"}; xml.AddNodes("config", "ips", attstr,childstr); } public class XML { string XMLFileName = ""; public XML(string xmlfilename) { XMLFileName = xmlfilename; } /// <summary> /// 添加一个带属性的节点,可带子节点(attstr为null时没有属性) /// </summary> /// <param name="findnodename">在哪个节点下添加新节点</param> /// <param name="creatnodename">新节点名称</param> /// <param name="attstr">新节点属性字符串数组</param> /// <param name="childinfostr">子节点属性字符串数组</param> public int AddNodes(string findnodename, string creatnodename, string[] attstr, string[] childinfostr) { try { XmlDocument xml = new XmlDocument(); xml.Load(XMLFileName); XmlNode ndroot = xml.SelectSingleNode(findnodename); XmlElement nd = xml.CreateElement(creatnodename); if (attstr != null) { for (int i = 0; i < attstr.Length; i++) { string[] every = attstr[i].Split("|"); nd.SetAttribute(every[0], every[1]); } } ndroot.AppendChild(nd); if (childinfostr != null) { for (int i = 0; i < childinfostr.Length; i++) { string[] infos = childinfostr[i].Split("|"); XmlElement xe = xml.CreateElement(infos[0]); XmlText xt = xml.CreateTextNode(infos[1]); nd.AppendChild(xe); nd.LastChild.AppendChild(xt); } } xml.Save(XMLFileName); return 0; } catch (Exception ErrMsg) { return 1; } } } }}
示例说明:
XML xml = new XML(Application.StartupPath + "\\config.xml");
//添加一个节点
string[] attstr = { "mac|08:00:27:00:D8:DC","ip|123"};
//给这个节点再添加子节点
string[] childstr = { "ip|192.168.1.1","name|BBQ"};
xml.AddNodes("config", "ips", attstr,childstr);//config是上级节点
运行结果如下:
注意:如果最后一个参数为null
xml.AddNodes("config", "ips", attstr, null);
则只添加父节点
关键词:
推荐阅读
鲁班发明了什么东西 什么是鲁班发明的?
鲁班发明了什么东西?在鲁班之前,木匠只用斧子和刀子来平整他们建筑用的木材,即使干的很好,也难让人满意。后来通过长期实践,鲁班发现使 【详细】
环氧树脂是什么 环氧树脂的特点
如今,市场上的油漆越来越多,人们有很多选择。不同的油漆有不同的成分和不同的性质和功能,环氧树脂就是其中之一。环氧树脂是用途相对广泛 【详细】
携程网机票预订流程 上机前注意事项
平时出门的时候很多都会选择飞机出行,但是相对于高铁动机来说,机票还是相对较贵的,所以大家平时都会购买特价机票,关于特价机票这一点我 【详细】
什么是大爆炸理论?大爆炸是如何开始的?
什么是大爆炸理论?大爆炸理论是宇宙如何开始的主要解释。简而言之,它描述了我们所知的宇宙,它始于一个无限热且密集的单点,在接下来的138 【详细】
TIKTOK是什么意思?字节跳动介绍
TIKTOK是什么意思?TikTok是抖音的国际版。随着Tik Tok在海外的成功,抖音短片成为中国产品在海外成功的又一杰出代表,被视为中国移动产品 【详细】
相关新闻
- 【世界新视野】C#给xml文件添加带属性的父节点及子节点的方法
- 今亮点!OPPOFindX6Pro、三星S23UItra、vivoX90Pro+拍照对比,差距真的大
- 微软新必应白名单申请大放水,不用等待直接过,赶紧来体验GPT4.0_世界快报
- csol封号查询怎么查 CSOL账号被封之后可以申请解封吗?
- QQ飞车手游A车永久月光女神获得方法 月光女神特性是什么?
- txplatform.exe是什么程序 txplatform.exe怎么禁用?
- 玩战地3遇到direcrx error报错咋办 玩战地3遇到direcrx error报错怎么解决?
- 当前关注:蔷薇十字小剑(蔷薇十字小剑的人物(不断更新))
- 焦点信息:尼采手机官网(尼采手机质量怎么样?尼采手机官网是多少?)
- 怎么设置代理服务器 手机怎么开启海外代理ip?
- qq群被封是什么原因 qq群被封后如何恢复?
- MSN邮箱简介 MSN邮箱怎么登录?
- d盘文档打不开原因 d盘文档打不开解决方法
- xp系统蓝屏代码0X000000eA咋回事 xp系统蓝屏代码0X000000eA解决办法?
- 常见的双绞线是什么 五类、六类网线双绞线的区别介绍
- 空文件夹删不掉是怎么回事?删除的文件怎么恢复?
- 【播资讯】广西贺州供电股份有限公司
- TikTok扩大体育领域合作版图能否反击“威胁论”? 全球新要闻
- 美团宣布降价,外卖又开始内卷了?
- 环球聚焦:苹果同时发布 iOS 16.4 RC 版以及 iOS 15.7.4 RC 版