C# 关于XML遍历新增节点,修改属性小例
2023-09-14 09:03:15 时间
//获取bookstore节点的所有子节点
XmlNodeList nodeList = xmlDoc.SelectSingleNode("bookstore").ChildNodes;
for (int i = 0; i nodeList.Count; i++)//遍历每个book节点
{ //将子节点类型转换为XmlElement类型
XmlElement xe = (XmlElement)nodeList.Item(i);
if (xe.Name == "book")
{ //如果genre属性值为“李赞红”
if (xe.GetAttribute("genre") == "李赞红")
{ //继续获取xe子节点的所有子节点
XmlNodeList nls = xe.ChildNodes;
for (int j = 0; j nls.Count; j++)
XmlElement xe2 = (XmlElement)nls.Item(j);//转换类型
//title、author、price都会在xe2.Name中取到
if (xe2.Name == "author")//如果找到
xe2.InnerText = "Karli Waston";//则修改
else //如果不存在则新建
xe2.SetAttribute("NewAttribute", "新增属性");
else
//如果genre属性值不为“李赞红”,则修改为李赞红
xe.SetAttribute("genre", "李赞红");
else //如果不存在book节点,则在该节点下新增一个book下级节点
XmlElement subElement = xmlDoc.CreateElement("因为这个节点不是book");
subElement.InnerXml = "BigDog";
xe.AppendChild(subElement);
xmlDoc.Save("E:\\bookstore.xml");//保存。
修改后的XML:
XmlNode root = xmlDoc.DocumentElement; XmlElement subElement = xmlDoc.CreateElement("根节点下新增"); subElement.InnerXml = "BigDog"; root.AppendChild(subElement);
?xml version="1.0" encoding="gb2312"? bookstore book genre="李赞红" ISBN="2-3631-4" title CS从入门到精通 /title author 候捷 /author price 58.3 /price /book book genre="李赞红" ISBN="2-3631-4" title NewAttribute="新增属性" CS从入门到精通 /title author Karli Waston /author price NewAttribute="新增属性" 58.3 /price /book book45 genre="李赞红" ISBN="2-3631-4" title CS从入门到精通 /title author 大黄 /author price 58.3 /price 因为这个节点不是book BigDog /因为这个节点不是book /book45 /bookstore如果现在根节点下新增某个节点,代码如下:
XmlNode root = xmlDoc.DocumentElement; XmlElement subElement = xmlDoc.CreateElement("根节点下新增"); subElement.InnerXml = "BigDog"; root.AppendChild(subElement);
相关文章
- 手把手教你写上位机软件(c#、winform)
- C# winform美化窗体
- c# mysql executenonquery_C#与数据库访问技术总结(八)之ExecuteNonQuery方法
- C#属性(Property)
- 传智播客C#编程基础免费下载
- C#程序员经常用到的10个实用代码片段
- C#编码好习惯小结
- 使用c#构造date数据类型
- c#委托与事件(详解)
- C#的XML两种代码注释实例说明
- C#程序最小化到托盘图标操作步骤与实现代码
- c#设置xml内容不换行及属性xsi:nil=true的空节点添加
- C#获取属性名的方法
- C#打印出正等腰三角形实例代码
- C#Dynamic关键字之:调用属性、方法、字段的实现方法
- C#实现写入与读出文本文件的实例代码
- C#全角半角转换函数代码分享
- C#正则表达式分解和转换IP地址实例(C#正则表达式大全c#正则表达式语法)
- C#执行Javascript代码的几种方法总结
- C#各种数组的用法实例演示
- C#中Html.RenderPartial与Html.RenderAction的区别分析
- C#统计字符串里中文汉字个数的方法
- C#实现移除字符串末尾指定字符的方法
- C#实现ProperTyGrid自定义属性的方法