XML学习中的问题

本文详细介绍了XML的学习,包括XML的官方文档链接,重点讲解了常见函数如GetElementsByTagName的使用,以及节点的删除、替换、选择和属性设置等操作。还提到了Type类的作用,并给出了实例。此外,还探讨了XML的拓展方法,如IEnumerable的转换和并行查询。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一)XML的官方文档:https://docs.microsoft.com/zh-cn/dotnet/api/system.xml?view=netcore-3.1
先放一下XML表的介绍
在这里插入图片描述
二)常见函数介绍:
(1)GetElementsByTagName()
这函数有两个重载:
在这里插入图片描述
实现:

static void findXmlFile(string path)
		{
			XmlDocument doc = new XmlDocument();
			//载入文件
			try
			{
				doc.Load(@path);
			}
			catch (System.Xml.XmlException)
			{
				throw new Exception("load fail");
			}
			XmlElement player = (XmlElement)doc.SelectSingleNode("player");
			if (player == null) throw new Exception("do not find sonNode");
			XmlNodeList songleItemList = player.GetElementsByTagName("sword");
			Console.WriteLine(songleItemList.Count);

		}

结果为3
该函数是查找节点下(包括节点的节点)名称相同的节点并返回一个链表。
第二个重载
在这里插入图片描述
(2)
在这里插入图片描述
该函数返回一个Type类型。由于基类Object就有GetType()函数,
在这里插入图片描述
官方示例:
在这里插入图片描述
个人示例:
在这里插入图片描述
Type类的介绍:
//记得书上有,一时没找到,补:
(3)
在这里插入图片描述
(4)节点的删除
在这里插入图片描述
(5)节点的替换
在这里插入图片描述
新节点在前,被替换的旧节点在后,
在这里插入图片描述
由旧节点的父节点调用函数,旧节点必须为父节点的子节点。效果如下:
在这里插入图片描述
(6)选择单个节点
(1)查找绝对路径的节点

	XmlElement EquipmentChange = (XmlElement)doc.SelectSingleNode(@"player/player02/equipment");

在这里插入图片描述
(2)。。。。。
贴一片文章
https://www.cnblogs.com/love201314/p/5589784.html
(7)
SetAttribute(String, String) 设置具有指定名称的特性的值。
SetAttribute(String, String, String) 设置具有指定本地名称和命名空间 URI 的特性的值。
SetAttributeNode(String, String) 添加指定的 XmlAttribute。
SetAttributeNode(XmlAttribute) 添加指定的 XmlAttribute。
(8)拓展方法
Cast(IEnumerable) 将 IEnumerable 的元素强制转换为指定的类型。
OfType(IEnumerable) 根据指定类型筛选 IEnumerable 的元素。
AsParallel(IEnumerable) 启用查询的并行化。
AsQueryable(IEnumerable) 将 IEnumerable 转换为 IQueryable。
(9)再补

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值