关于XML的读取,添加,修改,删除

----- 转载CSDN,觉得作者写挺好,记录这里当做笔记学习,且对应方法msdn查了一下,添加了注释更加透彻明白,有什么不对,请留言指教;

其中,

XmlNode 继承于 IConeable,IEnumerable,IXPathNavigable;

XmlDocument 继承于XmlNode;

XmlElement 继承于XmlLinkedNode,而XmlLinkedNode 继承于XmlNode;

XML文档

 1 <?xml version=‘1.0‘ encoding=‘gb2312‘ ?>
 2 <books>
 3  <book>
 4   <name>哈利波特</name>
 5   <price>10</price>
 6   <memo>这是一本很好看的书。</memo>
 7  </book>
 8  <book id="B02">
 9   <name>三国演义</name>2
10   <price>10</price>
11   <memo>四大名著之一。</memo>
12  </book>
13  <book id="B03">
14   <name>水浒</name>
15   <price>6</price>
16   <memo>四大名著之一。</memo>
17  </book>
18  <book id="B04">
19   <name>红楼</name>
20   <price>5</price>
21   <memo>四大名著之一。</memo>
22  </book>
23 </books>  

访问XML文档

XMLDocument  xml=new XMLDocument();
XMLElement theElement=null; theBook=null; the root=null;
// public virtual void Load(string filename);
// filename:
//     文件的 URL,该文件包含要加载的 XML 文档。 URL 既可以是本地文件,也可以是 HTTP URL(Web 地址)。
xml.Load(@"C:\Users\qiuxiaozhou\Desktop\xxxTest.xml");
// 获取文档的根 System.Xml.XmlElement。
//返回结果:  表示 XML 文档树的根的 XmlElement。 如果不存在根,则返回 null。
root=xml.DocumentElement;
 
//相对上面取XML文档的另一个法子
string strXml="<root><books>例子</books></root>";
//从指定的字符串中加载XML文档
xml.LoadXml(strXml);
给XML添加新节点
//创建具有指定名称的元素
//返回结果:  新的 XmlElement。
theBook=xml.CreateElement("book");
theElement=xml.CreateElement("name");
theElement.InnerText="新书";
//将指定的节点添加到该节点的子节点列表的末尾。
theBook.AppendChild(theElement);

theElement=xml.CreateElement("price");
theElement.InnerText="10元";
theBook.AppendChild(theElement);

theElement=xml.CreateElement("memo");
theElement.InnerText="好书推荐";
theBook.AppendChild(theElement);

root.AppendChild(theBook);

修改Node

//选择匹配括号表达式的第一个 XmlNode。
theBook=(XmlElement)root.SingleSelectNode("/books/book[name=‘哈里波特‘]");
//包含此节点及其所有子节点的标记
Console.WriteLine(theBook.OuterXML);
//返回一个 System.Xml.XmlNodeList,它包含与指定 System.Xml.XmlElement.Name 匹配的所有子代元素的列表.//getElementsByTagName返回的是NodeList,所以要跟上item(0)。//另外,GetElementsByTagName("price")相当于SelectNodes(".//price")。
theBook.GetElementsByTagName("price").Item(0).InnerText = "15";//添加属性theBook.SetAttribute("id","B01");

移除ID为特定值的

theBook=(XmlElement)root.SingleSelectNode("/books/book[@id=‘B02‘]");
theBook.ParentNode.RemoveChild(theBook);

批量移除且保存

XMLNodeList someBooks=root.SingleSelectNode("/books/book[price<10]");
Console.WriteLine("删除价格小于10的,符合条件的有{0}本”,someBooks.Count);

for(i=0;i<someBooks.Count;i++)
{
someBooks.Items[i].ParentNode.RemoveChild(someBooks.Item[i]);

}

xml.Save("xxxTest.xml");
时间: 2024-12-28 20:24:58

关于XML的读取,添加,修改,删除的相关文章

FileSystemObject组件新建读取添加修改删除功能实例

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>FileSystemObject组件应该实例</title> </head> <

【转】C#添加修改删除文件文件夹大全

[转]C#添加修改删除文件文件夹大全 C#添加修改删除文件文件夹大全 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.txt");sw.WriteLine("追逐理想");sw.WriteLine("kzlll");sw.WriteLine(".NET笔记");sw.Flush();sw.Close();C#拷贝文件string

XML节点进行添加,删除,查找和删除操作

从网上整理所得 XMLDocument来操作XML比较简单,虽然有时效率不是很高.代码如下 已知有一个XML文件(bookstore.xml)如下: <?xml version="1.0" encoding="gb2312"?><bookstore> <book genre="fantasy" ISBN="2-3631-4"> <title>Oberon's Legacy<

动态添加修改删除html表格内容

1.需求 需要实现收银台上添加修改删除商品信息时顾显可以实时看到其变化 2.解决 收银台和顾显通过tcp传输进行数据通信,顾显通过操作html中的表格进行数据添加修改和删除操作 3.代码 mytest.html <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Dynamic Table<

Web 1三级联动 下拉框 2添加修改删除 弹框

Web  三级联动 下拉框 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class _Default : System.Web.UI.Page { private MyDBDataContext _Context = new MyDBD

打通前后端全栈开发node+vue进阶【课程学习系统项目实战详细讲解】(3):用户添加/修改/删除 vue表格组件 vue分页组件

第三章 建议学习时间8小时      总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章] 演示地址:后台:demoback.lalalaweb.com  前台:demo.lalalaweb.com 演示过程中可能会发现bug,希望即时留言反馈,谢谢 源码下载:https://github.com/sutianbinde/classweb               //不是全部的代码,每次更新博客才更新代码 学

web测试点整理(四) -- 添加/修改/删除功能

声明:是参考了很多他人的文章以及自己的一些经验做了总结,因为时间久远,也没有留下当时的参考链接,如果涉及引用别人的内容,请留言说明,谢谢 添加.修改 特殊键 是否支持Tab键 是否支持回车键 提示信息 不符合要求的地方是否有错误提示 唯一性 字段唯一的,是否可以重复添加,添加后是否能修改为已存在的字段(字段包括区分大小写以及在输入的内容前后输入空格,保存后,数据是否真的插入到数据库中,注意保存后数据的正确性) 数据正确性: 对编辑页的每个编辑项进行修改,点击保存,是否可以保存成功,检查相关联的数

asp.net对xml文件的读写,添加,修改,删除操作

using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; usi

C# xml文件读取与修改

c#读写xml文件已知有一个XML文件(bookstore.xml)如下: Code<?xml version="1.0" encoding="gb2312"?><bookstore> <book genre="fantasy" ISBN="2-3631-4"> <title>Oberon's Legacy</title> <author>Corets,