博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C# - XML
阅读量:4318 次
发布时间:2019-06-06

本文共 1881 字,大约阅读时间需要 6 分钟。

XML

1.介绍

eXtensible Markup Language (可扩展标记语言)

Xml就是用一种格式化的方式来存储数据,并且是文本文件。

Xml要求所有的标记必须成对出现,必须有一个根节点且只有一个,区分大小写。

2. 通过C#创建

注意:如果想要通过DataSet读取XMl,则根节点下所有子节点名称必须一致。

XDocument doc = new XDocument();   // 1.创建声明节点,也可不写,会自动生成   //XDeclaration des = new XDeclaration("1.0","utf-8","yes");   //doc.Declaration = des;   // 2.创建根节点   XElement root = new XElement("Users");   doc.Add(root);   // 3.创建子节点并设置子节点属性,向子节点中添加节点   XElement user1 = new XElement("User");//子节点名称   user1.SetAttributeValue("Id", 1);   XElement name1 = new XElement("Name","Name1");   XElement age1 = new XElement("Age","18");   user1.Add(name1, age1);   XElement user2 = new XElement("User"); //子节点名称   user2.SetAttributeValue("Id", 1);   XElement name2 = new XElement("Name","Name2");   XElement age2= new XElement("Age","19");   user2.Add(name2, age2);   root.Add(user1, user2); //4.将子节点添加根节点之下   doc.Save("Test.xml");   var ds = new DataSet();   ds.ReadXml("Test.xml");   this.dgv.DataSource = ds.Tables[0];

结果:

Name1
18
Name2
19

3.查询

根据节点属性值查找指定节点。

var result = from t in doc.Descendants("Usre")  //所有子节点中查找                 //from t in doc.Root.Elements("User") //根节点下子节点查找                 where t.Attribute("Id").Value == "2"                 select new {                     Name=t.Element("Name").Value,                     Age=t.Element("Age").Value                 };    this.dgv.DataSource = result.ToList();

4.修改和删除

找到指定节点后直接修改就可以
var result = from t in doc.Descendants("User")  //所有子节点中查找              where t.Attribute("Id").Value == "2"              select t; result.First().Element("Name").Value = "Name22"; //修改 result.First().Remove(); //删除 doc.Save("Test.xml"); //保存

5.读取XML文件

XDocument doc = XDocument.Load("xml.xml");

转载于:https://www.cnblogs.com/-Tiger/p/8023159.html

你可能感兴趣的文章
ContentType的一些值
查看>>
哈希表
查看>>
Codeforces 1174C Ehab and a Special Coloring Problem
查看>>
java并发编程基础 --- 4.1线程简介
查看>>
LeetCode "Word Search"
查看>>
LintCode "Maximum Subarray Difference"
查看>>
压力测试 webbench
查看>>
创建一个简单的WCF程序
查看>>
为什么需要配置环境变量
查看>>
$i++,++$i
查看>>
Knockout学习笔记之一
查看>>
Linux学习路径
查看>>
嘉奇科技
查看>>
tomcat 监听地址
查看>>
WdatePicker 日期控件- 功能及示例
查看>>
Go语言实战 - 我需要站内搜索
查看>>
软中断
查看>>
Fail to start neutron-server
查看>>
景安快运挂在磁盘-支持宝塔
查看>>
RubyMine 5.4 发布,支持 Rails 4
查看>>