现在的位置: 首页 > 综合 > 正文

LINQ to XML 编程基础

2012年12月19日 ⁄ 综合 ⁄ 共 1828字 ⁄ 字号 评论关闭

本文PDF下载

转载请注明出处

一、LINQ to XML 编程基础

1LINQ to XML

System.Xml.Linq命名空间含有19个类,下表列出了它们的名称及其描述:

描述

XAttribute

表示一个 XML 属性

XCData

表示一个 CDATA 文本节点

XComment

表示一个 XML 注释

XContainer

适用于可能具有子节点的所有节点的抽象基类

XDeclaration

表示一个 XML 声明

XDocument

表示一个 XML 文档

XDocumentType

表示一个 XML 文档类型定义 (DTD)

XElement

表示一个 XML 元素

XName

表示一个XML元素或属性的名称

XNamespace

表示一个XML的命名空间

XNode

一个抽象类,它表示 XML 树的节点

XNodeDocumentOrderComparer

提供用于比较节点的文档顺序的功能

XNodeEqualityComparer

提供用于比较节点的值是否相等的功能

XObject

XNode XAttribute 的抽象基类

XObjectChange

XObject引发事件时的事件类型

XObjectChangeEventArgs

Changing Changed 事件提供数据

XProcessingInstruction

表示一个 XML 处理指令

XText

表示一个文本节点

以下的代码演示了如何使用LINQ to XML来快速创建一个xml

public static void CreateDocument()

{

    XDocument xdoc = new XDocument

    (

        new XDeclaration("1.0", "utf-8", "yes"),

        new XElement("Root","root")

    );

    xdoc.Save(path);

}

运行该示例将会得到一个xml文件,其内容为:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<Root>root</Root>

可以看出微软在LINQ上投入了很大的精力,使我们在编程时感觉到很舒服。下面将详细介绍处理XML时使用最多的三个类:XElementXAttributeXDocument。如果掌握了这些类,使用LINQ to XML时将会感到很顺手。

2XElement

XElement 类是 LINQ to XML 中的基础类之一。 它表示一个 XML 元素。 可以使用该类创建元素;更改元素内容;添加、更改或删除子元素;向元素中添加属性;或以文本格式序列化元素内容。 还可以与 System.Xml 中的其他类(例如 XmlReaderXmlWriter XslCompiledTransform)进行互操作。

使用LINQ to XML创建xml文档有很多种方式,具体使用哪种方法要根据实际需要。而创建xml文档最简单、最常见的方式是使用XElement类。以下的代码演示了如何使用XElement类创建一个xml文档:

public static void CreateCategories()

{

    XElement root = new XElement("Categories",

        new XElement("Category",

            new XElement("CategoryID", Guid.NewGuid()),

            new XElement("CategoryName", "Beverages")

            ),

        new XElement("Category",

            new XElement("CategoryID", Guid.NewGuid()),

            new XElement("CategoryName", "Condiments")

            ),

        new XElement("Category",

            new XElement("CategoryID", Guid.NewGuid()),

            new XElement("CategoryName", "Confections")

            )

       );

    root.Save(path);

}

运行该示例将会得到一个xml文件,其内容为:

<?xml version="1.0" encoding="utf-8"?>

抱歉!评论已关闭.