LINQ to XML 是 .NET Framework 中的一项功能,它提供了一个富有表现力的编程模型,用于处理 XML 数据。它是 LINQ (Language Integrated Query) 技术的一部分,允许开发者使用熟悉的 C# 或 VB.NET 语法来查询、修改、创建和删除 XML 文档。LINQ to XML 设计之初就考虑到了性能和灵活性,使得处理 XML 数据比以往任何时候都更加简单和高效。
在使用LINQ to XML时需要添加System.Xml.Linq.dll的引用。
XElement类 表示XML元素,它是XContainer类的派生类,而XContainer类又派生于XNode类。一个元素就是一个节点。
XElement是LINQ to XML最重要最基本的类之一,它包含所有创建和操作XML元素所必需的功能。通过它可以创建元素,添加和修改元素的属性,操作元素的内容等。
XAttribute类 用来处理属性,属性是与元素相关联的名称/值对。
XDocument类 提供了处理有效XML文档的方法,包括声明、注释和处理指令。XDocument类派生自XContainer类,可以有子节点。XML标准限值XDocument对象只包含单个XElement子节点,此节点作为根节点或跟元素。
创建一个XML
C#private void btnCreateXml_Click(object sender, EventArgs e)
{
XElement xml = new XElement("Persons");
xml.Add(new XElement("Person"
, new XElement("Name", "刘备")
, new XElement("Age", "40")));
xml.Add(new XElement("Person"
, new XElement("Name", "关羽")
, new XElement("Age", "35")));
xml.Add(new XElement("Person"
, new XElement("Name", "张飞")
, new XElement("Age", "32")));
xml.Save("./1.xml");
}
在C#中,LINQ (Language Integrated Query) 提供了丰富的方法来处理集合数据,包括去重、除外、相交和联合等操作。
| 操作 | 描述 |
|---|---|
| 去重 | 结果:从集合唯一值的列表通过过滤重复的数据,如果有任何结果 |
| 除外 | 比较了两个集合的值,并返回从一个集合不在另外一个集合 |
| 相交 | 返回集合在两个不同的集合相同的相同部分 |
| 联合 | 联合了两种不同内容的集合到一个列表太没有任何重复的内容 |
在C#中,LINQ提供了几个分区操作符,允许你根据条件或者位置将集合分割成更小的部分。这些操作符包括Take、Skip、TakeWhile和SkipWhile。使用这些操作符可以帮助你在处理集合时更加灵活。
| Skip | 通过指定数量跳过指定的序列中一些的元素,并返回其余的 |
|---|---|
| SkipWhile | 与Skip相同,唯一的例外跳到多个元素,跳过的是由一个布尔条件指定 |
| Take | 通过指定数量取得元素指定的序列,并跳过其余的 |
| TakeWhile | 与Take相同,以不同的条件,元素采取的是由一个布尔条件指定 |
在C#中,LINQ提供了一系列用于条件判断的方法,如All、Any和Contains,这些方法使得对集合进行条件检查变得非常方便和高效,操作符返回一个布尔值,即真或当一个序列中的部分或全部元素满足特定条件的假。
| 操作符 | 描述 |
|---|---|
| All | 返回一个值'True',如果序列中的所有元素满足谓词条件 |
| Any | 确定通过搜索一个序列是否相同的任何元件满足规定的条件 |
| Contains | 如果找到某个特定元素有一个序列返回一个“true”的值,如果序列不包含特定的元素,'false'值返回 |