C#中XML文件内容增删改查的方法
发表于:2024-11-26 作者:千家信息网编辑
千家信息网最后更新 2024年11月26日,本篇内容介绍了"C#中XML文件内容增删改查的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!什么
千家信息网最后更新 2024年11月26日C#中XML文件内容增删改查的方法
本篇内容介绍了"C#中XML文件内容增删改查的方法"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
什么是XML?
XML是一种可扩展标记语言(EXtensible Markup Language)。
XML是一种很像HTML的标记语言。
XML的设计宗旨是传输数据,而不是显示数据。
XML标签没有被预定义。您需要自行定义标签。
XML被设计为具有自我描述性。
XML是 W3C 的推荐标准。
XML的优缺点
XML的优点
语法严谨,格式统一,符合标准。
容易与其他系统进行远程交互,数据共享比较方便。
XML的缺点
扩展性、弹性、易读性均不佳。
XML文件庞大,文件格式复杂,传输占带宽。
服务器端和客户端解析XML花费较多的资源和时间。
XML简单示例
在线xml验证工具
追逐时光者 XML学习教程 时光出版社
XML中5个预定义的实体引用
转义字符 | 符号 | 名称 |
---|---|---|
& | & | 和号 |
< | < | 小于 |
> | > | 大于 |
' | ' | 省略号 |
" | " | 引号 |
严格地讲,在 XML 中仅有字符 "<"和"&" 是非法的。省略号、引号和大于号是合法的。这时,Xml有两种解决方案来处理这种问题。
CDATA
转义字符
C#把特殊符号转换为转义字符
////// 特殊符号转换为转义字符 /// /// ///public string XmlSpecialSymbolConvert(string xmlStr) { return xmlStr.Replace("&", "&").Replace("<", "<").Replace(">", ">").Replace("\'", "'").Replace("\"", """); }
C#创建简单的XML文件
////// 创建Xml文件 /// public void CreateXmlFile() { XmlDocument xmlDoc = new XmlDocument(); //创建类型声明节点 XmlNode node = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", ""); xmlDoc.AppendChild(node); //创建Xml根节点 XmlNode root = xmlDoc.CreateElement("books"); xmlDoc.AppendChild(root); XmlNode root1 = xmlDoc.CreateElement("book"); root.AppendChild(root1); //创建子节点 CreateNode(xmlDoc, root1, "author", "追逐时光者"); CreateNode(xmlDoc, root1, "title", "XML学习教程"); CreateNode(xmlDoc, root1, "publisher", "时光出版社"); //将文件保存到指定位置 xmlDoc.Save("D://xmlSampleCreateFile.xml"); } ////// 创建节点 /// /// xml文档 /// Xml父节点 /// 节点名 /// 节点值 /// public void CreateNode(XmlDocument xmlDoc, XmlNode parentNode, string name, string value) { //创建对应Xml节点元素 XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, name, null); node.InnerText = value; parentNode.AppendChild(node); }
创建生成的Xml文件
追逐时光者 XML学习教程 时光出版社
C#在XML文件添加节点
这次我们是在上一次新建的XML文件中做操作,在book二级节点下添加一个新的节点名为publishdate(发布时间),该节点的value为2022-03-26。
private static void AppendNode() { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("D://xmlSampleCreateFile.xml");//加载Xml文件 XmlNode root = xmlDoc.SelectSingleNode("books/book");//选择要添加子节点的book节点 //创建一个新的Xml节点元素 XmlNode node = xmlDoc.CreateNode(XmlNodeType.Element, "publishdate", null); node.InnerText = "2022-03-26"; root.AppendChild(node);//将创建的item子节点添加到items节点的尾部 xmlDoc.Save("D://AppendNodeFile.xml");//保存修改的Xml文件内容 }
添加节点成功后的XML文件内容
追逐时光者 XML学习教程 时光出版社 2022-03-26
C#修改XML文件节点的数据
这次我们是在第一次新建的XML文件中做操作,把在book二级节点下的author的内容改成:大姚同学
private static void UpdateXml() { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("D://xmlSampleCreateFile.xml");//加载Xml文件 XmlNode xns = xmlDoc.SelectSingleNode("books/book");//查找要修改的节点 XmlNodeList xmlNodeList = xns.ChildNodes;//取出book节点下所有的子节点 foreach (XmlNode xmlNode in xmlNodeList) { XmlElement xmlElement = (XmlElement)xmlNode;//将节点转换一下类型 if (xmlElement.Name=="author")//判断该子节点是否是要查找的节点 { xmlElement.InnerText = "大姚同学";//设置新值 break; } } xmlDoc.Save("D://UpdateXml.xml");//保存修改的Xml文件内容 }
修改后的XML文件内容
大姚同学 XML学习教程 时光出版社
C#删除XML文件中的指定节点
这次我们是在第一次新建的XML文件中做操作,删除author节点。
private static void DeleteXmlNode() { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("D://xmlSampleCreateFile.xml");//加载Xml文件 XmlNode xns = xmlDoc.SelectSingleNode("books/book");//查找要删除的根节点 #region 删除author节点 var delNode = xmlDoc.SelectSingleNode("books/book/" + "author"); xns.RemoveChild(delNode); #endregion xmlDoc.Save("D://DeleteXmlNode.xml");//保存操作后的Xml文件内容 }
C#清空指定XML节点数据
这次我们是在第一次新建的XML文件中做操作,清空author节点下的数据。
private static void ClearDataXmlNode() { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load("D://xmlSampleCreateFile.xml");//加载Xml文件 XmlNode xns = xmlDoc.SelectSingleNode("books/book");//查找要删除的根节点 #region 清空author节点下的数据 XmlNodeList xmlNodeList = xns.ChildNodes;//取出book节点下所有的子节点 foreach (XmlNode xmlNode in xmlNodeList) { XmlElement xmlElement = (XmlElement)xmlNode;//将节点转换一下类型 if (xmlElement.Name == "author")//判断该子节点是否是要查找的节点 { //清空author节点下的数据 xmlElement.RemoveAll();//删除该节点的全部内容 } } #endregion xmlDoc.Save("D://ClearDataXmlNode.xml");//保存操作后的Xml文件内容 }
"C#中XML文件内容增删改查的方法"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!
节点
文件
内容
时光
C#
数据
学习
出版社
字符
学习教程
教程
出版
是在
转义
同学
符号
第一次
类型
大姚
方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
统一建模语言软件开发方法学
正义之怒 数据库
ai赋能网络安全么
绝地求生bp服务器失败
局域网内接入服务器
滨州企业软件开发咨询
软件测试中的数据库知识
软件开发转运维理由
php 购物车 数据库
服务器过时
网络安全隐患及风险识别
服务器主板跳线接线图
服务器如何挂小程序
数据库查询对象名无效了
达梦数据库 安装
5g时代绿色服务器能挂吗
惠州嵌入式软件开发流程哪家好
数据库损坏后可以恢复什么
wow黑龙妹妹掉落数据库
网络安全事件论文论点
软件开发可行性报告模版
23魔方祖源数据库N-M128
DNS服务器不响应
数据库技术及应用书本
定制软件开发会计处理
浙江软件开发检测中心
数据库变化通知程序
开源数据库的安全配置
上海仁新网络技术 葛之杨
网络安全宣传彩页