xml 可扩展标记语言
XML:存储数据
XML的标签自定义 成对出现
XML严格区分大小写 HTML不区分大小写
xml文档必须有一个根节点 ,且只能有一个根节点
元素:XML文件中所有都是
节点:一个个标签
通过C#代码来创建XML文档
using System.Xml;
//创建XML文档对象
XmlDocument doc = new XmlDocument();
//创建第一行描述信息,并添加到文档中
XmlDeclaraction dec = doc.CreateXmlDeclaration("1.0","utf-8",null);
doc.AppendChild(dec);
//创建根节点,并添加到文档中
XmlElement boos = doc.CreateElement("book");
doc.AppendChild(book);
//给根节点创建子节点
XmlElement boos1 = doc.CreateElement("book1");
book.AppendChild(book1);
//给标签写入文本
book1.InnerText = "abc";
结果 <book1>abc</book1>
book1.InnerXml = "<p>aa</p>"
InnerXml 会讲标签显示为标签,InnerText 会转义标签
所以添加文本时用InnerText
添加标签时用.InnerXml
//保存文档
doc.Save("Books.xml");
//创建带属性的XML文档
book1.SetAttribute("name","bookname");
book1.SetAttribute("count","10");
结果 <book1 name="bookname" count="10"></book1>
向XML中追加
1.创建对象
XmlDocument doc = new XmlDocument();
2.判断文件是否存在
using System.Io
if(File.Exists("books.xml"))
{
//加载文件
doc.Load("books.xml");
//获得文件的根节点
XmeElement book = doc.DocumentElement;
}
else
{
//创建文件
}
3.追加内容
//在根节点下追加内容
读取XML文件
1.//加载文件
doc.Load("books.xml");
2.//获得文件的根节点
XmeElement book = doc.DocumentElement;
3.//根据根节点拿到所以子节点 返回子节点的集合
XmlNodeList xnl = book.ChildNodes;
返回的是子节点的内容
4.当XML节点有属性时,读取属性
XMLDocument doc = new XmlDocument();
doc.Load("order.xml");
//返回节点的集合 SelectNodes 选择的是符合条件所有节点
XMLNodeList xnl = doc.SelectNodes("/Order/Items/OrderItem");
foreach(XMLNode node in xnl )
{
string name = node.Attributes["Name"].Value;
string count = node.Attributes["Count"].Value;
}
order.xml文件内容如下
<Order>
<Items>
<OrderItem Name="avb" Count ="200" />
<OrderItem Name="dd" Count ="200" />
<OrderItem Name="oop" Count ="200" />
<Items/>
<Order/>
删除节点
//选择单一节点 SelectSingleNode选择的是某一个节点
XmlNode xn = doc.SelectSingleNode("/Order/Items");
xn.RemoveAll(); //删除该节点下的所以节点
doc.Save();
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 提示词工程——AI应用必不可少的技术
· 地球OL攻略 —— 某应届生求职总结
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界