C# XML节点与属性的读写
来源:互联网 发布:苹果平板绘画软件 编辑:程序博客网 时间:2024/06/06 07:18
最近学习了C# XML的读写,现在记录下来。代码中有详细注释,看注释应该就清楚了。
先上写XML的代码:
public static void XmlWrite() { String path = GetPath(); XmlDocument xmlDoc = new XmlDocument(); //创建类型声明节点 XmlNode node=xmlDoc.CreateXmlDeclaration("1.0","utf-8",""); xmlDoc.AppendChild(node); //创建根节点 XmlNode root = xmlDoc.CreateElement("Setting"); xmlDoc.AppendChild(root); //创建节点node1,名为writer1 XmlNode node1 = xmlDoc.CreateNode(XmlNodeType.Element, "writer1", null); //创建属性attr01,名为name XmlNode attr01 = xmlDoc.CreateNode(XmlNodeType.Attribute, "name", null); attr01.Value = "amber";//设置属性attr01的值 node1.Attributes.SetNamedItem(attr01);//把属性attr01添加到节点node1 //创建属性attr02,名为age XmlNode attr02 = xmlDoc.CreateNode(XmlNodeType.Attribute, "age", null); attr02.Value = "28"; node1.Attributes.SetNamedItem(attr02); //创建节点node1的子节点 CreateNode(xmlDoc, node1, "Book1", "android"); CreateNode(xmlDoc, node1, "Book2", "ios"); CreateNode(xmlDoc, node1, "Book3", "winform"); root.AppendChild(node1); //创建节点node2,名为writer2 XmlNode node2 = xmlDoc.CreateNode(XmlNodeType.Element, "writer2", null); //创建属性attr1,名为name XmlNode attr1 = xmlDoc.CreateNode(XmlNodeType.Attribute, "name", null); attr1.Value = "amberoot"; node2.Attributes.SetNamedItem(attr1); XmlNode attr2 = xmlDoc.CreateNode(XmlNodeType.Attribute, "age", null); attr2.Value = "32"; node2.Attributes.SetNamedItem(attr2); //创建节点node2的子节点 CreateNode(xmlDoc, node2, "Book1", "hi"); CreateNode(xmlDoc, node2, "Book2", "hello"); CreateNode(xmlDoc, node2, "Book3", "hey"); root.AppendChild(node2); try { xmlDoc.Save(path); } catch (Exception e) { //显示错误信息 Console.WriteLine(e.Message); } //Console.ReadLine(); } public static void CreateNode(XmlDocument xmlDoc,XmlNode parentNode,string name,string value) { XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null); node.InnerText = value; //设置节点的值 parentNode.AppendChild(node); }
结果:
public static void readXml() { String path = GetPath(); XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(path); XmlNode no = xmlDoc.SelectSingleNode("Setting");//获取根节点 XmlNodeList nodeList = no.ChildNodes;//获取根节点no的所有子节点 foreach (XmlNode nod0 in nodeList) { XmlElement element = (XmlElement)nod0;//获取节点 if (element.Name == "writer2")//element.Name获取节点element的节点名 { XmlNodeList elementList = element.ChildNodes;//element.ChildNodes获取节点element中的所有子节点 foreach (XmlNode nod1 in elementList) { if (nod1.Name == "Book1")//nod1.Name获取节点nod1的节点名 { String nod1_value = nod1.InnerText;//nod1.InnerText获取节点nod1的值 } } } } }
0 0
- C# XML节点与属性的读写
- PHP DOM 读写XML文件 节点属性
- c#对xml多属性节点的增删改操作
- C#操作XML-创建-追加-带属性的读写(全)
- C# XML添加属性和节点
- C# 简单的操作xml读取与追加节点
- C# 读取与修改xml一个节点的值
- C# 读取与修改xml一个节点的值
- C# 添加xml的节点
- 【C#】C#操作XML方法:新增、修改和删除节点与属性
- C#操作XML方法:新增、修改和删除节点与属性
- linux读写属性节点
- C#读写XML的困惑
- C#读写XML的方法
- C# XML配置文件的读写
- c#对xml多属性节点的增加,删除,修改操作源码
- C# 读取xml中特定节点的属性值 xmldocument方式
- c#对xml多属性节点的增加,删除,修改操作源码
- Programming Assignment: Collinear Points
- indexedDB 数据库
- MindManager思维导图软件帮你解决英语学习大难题!
- JavaScript 中 apply 、call 的详解
- 模拟实现函数库中的各种常用函数,1实现strcpy 2.实现strcat 3.实现strstr 4.实现strchr 5.实现strcmp 6.实现memcpy 7.实现memmove
- C# XML节点与属性的读写
- 高德定位
- Oracle数据库学习
- Easy-39
- jQuery AJAX基础
- 检测网络是否为WIFI连接
- 适AT Arraylist动态扩容详解
- CVBS转BT656/601 AHD-模拟高清芯片,替代GM7150,CJC5150,TVP5150等芯片
- 猿味鸡汤 — 我为什么鼓励工程师写blog