XElement 类

定义

表示一个 XML 元素。 有关用法信息和示例,请参阅本页的 XElement 类概述和“备注”部分。

public ref class XElement : System::Xml::Linq::XContainer, System::Xml::Serialization::IXmlSerializable
public ref class XElement : System::Xml::Linq::XContainer
public class XElement : System.Xml.Linq.XContainer, System.Xml.Serialization.IXmlSerializable
public class XElement : System.Xml.Linq.XContainer
type XElement = class
    inherit XContainer
    interface IXmlSerializable
type XElement = class
    inherit XContainer
Public Class XElement
Inherits XContainer
Implements IXmlSerializable
Public Class XElement
Inherits XContainer
继承
实现

示例

以下示例创建 XML 树。 新元素的内容来自 LINQ 查询。

XElement xmlTree1 = new XElement("Root",  
    new XElement("Child1", 1),  
    new XElement("Child2", 2),  
    new XElement("Child3", 3),  
    new XElement("Child4", 4),  
    new XElement("Child5", 5),  
    new XElement("Child6", 6)  
);  

XElement xmlTree2 = new XElement("Root",  
    from el in xmlTree1.Elements()  
    where((int)el >= 3 && (int)el <= 5)  
    select el  
);  
Console.WriteLine(xmlTree2);  
Dim xmlTree1 As XElement = _  
        <Root>  
            <Child1>1</Child1>  
            <Child2>2</Child2>  
            <Child3>3</Child3>  
            <Child4>4</Child4>  
            <Child5>5</Child5>  
            <Child6>6</Child6>  
        </Root>  

Dim xmlTree2 As XElement = _   
    <Root>  
        <%= From el In xmlTree1.Elements() _  
            Where el.Value >= 3 And el.Value <= 5 _  
            Select el %>  
    </Root>  

Console.WriteLine(xmlTree2)  

该示例产生下面的输出:

<Root>  
  <Child3>3</Child3>  
  <Child4>4</Child4>  
  <Child5>5</Child5>  
</Root>  

下面是相同的示例,但在这种情况下,XML 位于命名空间中。 有关详细信息,请参阅 使用 XML 命名空间

XNamespace aw = "http://www.adventure-works.com";  
XElement xmlTree1 = new XElement(aw + "Root",  
    new XElement(aw + "Child1", 1),  
    new XElement(aw + "Child2", 2),  
    new XElement(aw + "Child3", 3),  
    new XElement(aw + "Child4", 4),  
    new XElement(aw + "Child5", 5),  
    new XElement(aw + "Child6", 6)  
);  

XElement xmlTree2 = new XElement(aw + "Root",  
    from el in xmlTree1.Elements()  
    where((int)el >= 3 && (int)el <= 5)  
    select el  
);  
Console.WriteLine(xmlTree2);  
Imports <xmlns="http://www.adventure-works.com">  

Module Module1  
    Sub Main()  
        Dim xmlTree1 As XElement = _  
            <Root>  
                <Child1>1</Child1>  
                <Child2>2</Child2>  
                <Child3>3</Child3>  
                <Child4>4</Child4>  
                <Child5>5</Child5>  
                <Child6>6</Child6>  
            </Root>  

        Dim xmlTree2 As XElement = _   
            <Root>  
                <%= From el In xmlTree1.Elements() _  
                    Where el.Value >= 3 And el.Value <= 5 _  
                    Select el %>  
            </Root>  

        Console.WriteLine(xmlTree2)  
    End SUb  
End Module  

该示例产生下面的输出:

<Root xmlns="http://www.adventure-works.com">  
  <Child3>3</Child3>  
  <Child4>4</Child4>  
  <Child5>5</Child5>  
</Root>  

注解

此类表示 XML 元素(基本 XML 构造)。 有关其他用法信息 ,请参阅 XElement 类概述

元素具有一个或多个 XName属性,并且可以选择性地包含内容 (以获取详细信息,请参阅 Nodes) 。

一个 XElement 可以包含以下类型的内容:

有关有效 XElement内容的详细信息,请参阅 XElement 和 XDocument 对象的有效内容

XElement 派生自 XContainer,派生自 XNode

某些 XElement 方法可从 XAML 使用。 有关详细信息,请参阅 LINQ to XML 动态属性

构造函数

XElement(XElement)

从其他 XElement 对象初始化 XElement 类的新实例。

XElement(XName)

用指定的名称初始化 XElement 类的新实例。

XElement(XName, Object)

用指定的名称和内容初始化 XElement 类的新实例。

XElement(XName, Object[])

用指定的名称和内容初始化 XElement 类的新实例。

XElement(XStreamingElement)

从一个 XElement 对象初始化 XStreamingElement 类的新实例。

属性

BaseUri

获取此 XObject 的基 URI。

(继承自 XObject)
Document

获取此 XDocumentXObject

(继承自 XObject)
EmptySequence

获取空的元素集合。

FirstAttribute

获取此元素的第一个属性。

FirstNode

获取此节点的第一个子节点。

(继承自 XContainer)
HasAttributes

获取一个值,该值指示此元素是否至少具有一个属性。

HasElements

获取一个值,该值指示此元素是否至少具有一个子元素。

IsEmpty

获取一个值,该值指示此元素是否不包含内容。

LastAttribute

获取此元素的最后一个属性。

LastNode

获取此节点的最后一个子节点。

(继承自 XContainer)
Name

获取或设置此元素的名称。

NextNode

获取此节点的下一个同级节点。

(继承自 XNode)
NodeType

获取此节点的节点类型。

Parent

获取此 XObject 的父级 XElement

(继承自 XObject)
PreviousNode

获取此节点的上一个同级节点。

(继承自 XNode)
Value

获取或设置此元素的串连文本内容。

方法

Add(Object)

将指定的内容添加为此 XContainer 的子级。

(继承自 XContainer)
Add(Object[])

将指定的内容添加为此 XContainer 的子级。

(继承自 XContainer)
AddAfterSelf(Object)

紧跟在此节点之后添加指定的内容。

(继承自 XNode)
AddAfterSelf(Object[])

紧跟在此节点之后添加指定的内容。

(继承自 XNode)
AddAnnotation(Object)

将对象添加到此 XObject 的批注列表。

(继承自 XObject)
AddBeforeSelf(Object)

紧邻此节点之前添加指定的内容。

(继承自 XNode)
AddBeforeSelf(Object[])

紧邻此节点之前添加指定的内容。

(继承自 XNode)
AddFirst(Object)

将指定内容作为此文档或元素的第一个子级添加。

(继承自 XContainer)
AddFirst(Object[])

将指定内容作为此文档或元素的第一个子级添加。

(继承自 XContainer)
Ancestors()

返回此节点的上级元素的集合。

(继承自 XNode)
Ancestors(XName)

返回此节点的经过筛选的上级元素的集合。 集合中仅包括具有匹配 XName 的元素。

(继承自 XNode)
AncestorsAndSelf()

返回元素集合,其中包含此元素及其上级。

AncestorsAndSelf(XName)

返回经过筛选的元素集合,其中包含此元素及其上级。 集合中仅包括具有匹配 XName 的元素。

Annotation(Type)

从此 XObject 获取指定类型的第一个批注对象。

(继承自 XObject)
Annotation<T>()

从此 XObject 获取指定类型的第一个批注对象。

(继承自 XObject)
Annotations(Type)

获取此 XObject 的指定类型的批注集合。

(继承自 XObject)
Annotations<T>()

获取此 XObject 的指定类型的批注集合。

(继承自 XObject)
Attribute(XName)

返回具有指定 XAttribute 的此 XElementXName

Attributes()

返回此元素的属性集合。

Attributes(XName)

返回经过筛选的此元素的属性集合。 集合中仅包括具有匹配 XName 的属性。

CreateReader()

创建此节点的 XmlReader

(继承自 XNode)
CreateReader(ReaderOptions)

使用 readerOptions 参数指定的选项创建 XmlReader

(继承自 XNode)
CreateWriter()

创建可用于将节点添加至 XContainerXmlWriter

(继承自 XContainer)
DescendantNodes()

按文档顺序返回此文档或元素的子代节点集合。

(继承自 XContainer)
DescendantNodesAndSelf()

返回节点的集合,而这些节点包含此元素以及此元素的所有子代节点,并将它们按文档顺序排列。

Descendants()

按文档顺序返回此文档或元素的子代元素集合。

(继承自 XContainer)
Descendants(XName)

按文档顺序返回此文档或元素的已筛选的子代元素集合。 集合中仅包括具有匹配 XName 的元素。

(继承自 XContainer)
DescendantsAndSelf()

返回元素的集合,而这些元素包含此元素以及此元素的所有子代元素,并按文档顺序排列它们。

DescendantsAndSelf(XName)

返回经过筛选的元素集合,这些元素包含此元素以及此元素的所有子代元素,并按文档顺序排列它们。 集合中仅包括具有匹配 XName 的元素。

Element(XName)

获取具有指定的 XName 的第一个(按文档顺序)子元素。

(继承自 XContainer)
Elements()

按文档顺序返回此元素或文档的子元素集合。

(继承自 XContainer)
Elements(XName)

按文档顺序返回此元素或文档的已筛选的子元素集合。 集合中仅包括具有匹配 XName 的元素。

(继承自 XContainer)
ElementsAfterSelf()

按文档顺序返回此节点后的同级元素集合。

(继承自 XNode)
ElementsAfterSelf(XName)

按文档顺序返回此节点后经过筛选的同级元素的集合。 集合中仅包括具有匹配 XName 的元素。

(继承自 XNode)
ElementsBeforeSelf()

按文档顺序返回此节点前的同级元素集合。

(继承自 XNode)
ElementsBeforeSelf(XName)

按文档顺序返回此节点前经过筛选的同级元素的集合。 集合中仅包括具有匹配 XName 的元素。

(继承自 XNode)
Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
GetDefaultNamespace()

获取此 XNamespace 的默认 XElement

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetNamespaceOfPrefix(String)

获取此 XElement 的与特定前缀关联的命名空间。

GetPrefixOfNamespace(XNamespace)

获取与此 XElement 的命名空间关联的前缀。

GetType()

获取当前实例的 Type

(继承自 Object)
IsAfter(XNode)

确定当前节点是否按文档顺序显示在指定节点之后。

(继承自 XNode)
IsBefore(XNode)

确定当前节点是否按文档顺序显示在指定节点之前。

(继承自 XNode)
Load(Stream)

使用指定的流创建一个新的 XElement 实例。

Load(Stream, LoadOptions)

使用指定流创建新的 XElement 实例,也可以选择保留空白,设置基 URI 和保留行信息。

Load(String)

从文件加载 XElement

Load(String, LoadOptions)

从文件加载 XElement,还可以选择保留空白、设置基 URI 和保留行信息。

Load(TextReader)

XElement 加载 TextReader

Load(TextReader, LoadOptions)

XElement 加载 TextReader,还可以选择保留空白和行信息。

Load(XmlReader)

XElement 加载 XmlReader

Load(XmlReader, LoadOptions)

XElement 加载 XmlReader 时,可以选择保留空白、设置基 URI 和保留行信息。

LoadAsync(Stream, LoadOptions, CancellationToken)

以异步方式创建新的 XElement 并使用指定的流初始化其基础 XML 树,可以选择保留空格。

LoadAsync(TextReader, LoadOptions, CancellationToken)

以异步方式创建新的 XElement 并使用指定的文本读取器初始化其基础 XML 树,可以选择保留空格。

LoadAsync(XmlReader, LoadOptions, CancellationToken)

以异步方式创建新的 XElement 并使用指定的 XML 文本读取器初始化其基础 XML 树,可以选择保留空格。

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
Nodes()

按文档顺序返回此元素或文档的子节点集合。

(继承自 XContainer)
NodesAfterSelf()

按文档顺序返回此节点后的同级节点的集合。

(继承自 XNode)
NodesBeforeSelf()

按文档顺序返回此节点前的同级节点的集合。

(继承自 XNode)
Parse(String)

从包含 XML 的字符串加载 XElement

Parse(String, LoadOptions)

从包含 XML 的字符串加载 XElement,还可以选择保留空白和行信息。

Remove()

从节点父级中删除此节点。

(继承自 XNode)
RemoveAll()

从此 XElement 中移除节点和属性。

RemoveAnnotations(Type)

从此 XObject 移除指定类型的批注。

(继承自 XObject)
RemoveAnnotations<T>()

从此 XObject 移除指定类型的批注。

(继承自 XObject)
RemoveAttributes()

移除此 XElement 的属性。

RemoveNodes()

从此文档或元素中移除子节点。

(继承自 XContainer)
ReplaceAll(Object)

将此元素的子节点和属性替换为指定的内容。

ReplaceAll(Object[])

将此元素的子节点和属性替换为指定的内容。

ReplaceAttributes(Object)

将此元素的属性替换为指定的内容。

ReplaceAttributes(Object[])

将此元素的属性替换为指定的内容。

ReplaceNodes(Object)

使用指定内容替换此文档或元素的子节点。

(继承自 XContainer)
ReplaceNodes(Object[])

使用指定内容替换此文档或元素的子节点。

(继承自 XContainer)
ReplaceWith(Object)

将此节点替换为指定的内容。

(继承自 XNode)
ReplaceWith(Object[])

将此节点替换为指定的内容。

(继承自 XNode)
Save(Stream)

将此 XElement 输出到指定的 Stream

Save(Stream, SaveOptions)

将此 XElement 输出到指定的 Stream,(可选)并指定格式设置行为。

Save(String)

将此元素序列化为文件。

Save(String, SaveOptions)

将此元素序列化为文件,并可以选择禁用格式设置。

Save(TextWriter)

将此元素序列化为 TextWriter

Save(TextWriter, SaveOptions)

将此元素序列化为 TextWriter,并可以选择禁用格式设置。

Save(XmlWriter)

将此元素序列化为 XmlWriter

SaveAsync(Stream, SaveOptions, CancellationToken)

将此 XElement 异步输出到 Stream

SaveAsync(TextWriter, SaveOptions, CancellationToken)

将此 XElement 异步输出到 TextWriter

SaveAsync(XmlWriter, CancellationToken)

将此 XElement 异步输出到 XmlWriter

SetAttributeValue(XName, Object)

设置属性的值、添加属性或移除属性。

SetElementValue(XName, Object)

设置子元素的值、添加子元素或移除子元素。

SetValue(Object)

设置此元素的值。

ToString()

返回此节点的缩进 XML。

(继承自 XNode)
ToString(SaveOptions)

返回此节点的 XML,还可以选择禁用格式设置。

(继承自 XNode)
WriteTo(XmlWriter)

将此元素写入 XmlWriter

WriteToAsync(XmlWriter, CancellationToken)

将此 XElement 异步写入到指定的编写器。

WriteToAsync(XmlWriter, CancellationToken)

将当前节点写入到 XmlWriter

(继承自 XNode)

运算符

Explicit(XElement to Boolean)

将此 XElement 的值强制转换为 Boolean

Explicit(XElement to DateTime)

将此 XElement 的值强制转换为 DateTime

Explicit(XElement to DateTimeOffset)

将此 XAttribute 的值强制转换为 DateTimeOffset

Explicit(XElement to Decimal)

将此 XElement 的值强制转换为 Decimal

Explicit(XElement to Double)

将此 XElement 的值强制转换为 Double

Explicit(XElement to Guid)

将此 XElement 的值强制转换为 Guid

Explicit(XElement to Int32)

将此 XElement 的值强制转换为 Int32

Explicit(XElement to Int64)

将此 XElement 的值强制转换为 Int64

Explicit(XElement to Nullable<Boolean>)

将此 XElement 的值强制转换为 BooleanNullable<T>

Explicit(XElement to Nullable<DateTime>)

将此 XElement 的值强制转换为 DateTimeNullable<T>

Explicit(XElement to Nullable<DateTimeOffset>)

将此 XElement 的值强制转换为 DateTimeOffsetNullable<T>

Explicit(XElement to Nullable<Decimal>)

将此 XElement 的值强制转换为 DecimalNullable<T>

Explicit(XElement to Nullable<Double>)

将此 XElement 的值强制转换为 DoubleNullable<T>

Explicit(XElement to Nullable<Guid>)

将此 XElement 的值强制转换为 GuidNullable<T>

Explicit(XElement to Nullable<Int32>)

将此 XElement 的值强制转换为 Int32Nullable<T>

Explicit(XElement to Nullable<Int64>)

将此 XElement 的值强制转换为 Int64Nullable<T>

Explicit(XElement to Nullable<Single>)

将此 XElement 的值强制转换为 SingleNullable<T>

Explicit(XElement to Nullable<TimeSpan>)

将此 XElement 的值强制转换为 TimeSpanNullable<T>

Explicit(XElement to Nullable<UInt32>)

将此 XElement 的值强制转换为 UInt32Nullable<T>

Explicit(XElement to Nullable<UInt64>)

将此 XElement 的值强制转换为 UInt64Nullable<T>

Explicit(XElement to Single)

将此 XElement 的值强制转换为 Single

Explicit(XElement to String)

将此 XElement 的值强制转换为 String

Explicit(XElement to TimeSpan)

将此 XElement 的值强制转换为 TimeSpan

Explicit(XElement to UInt32)

将此 XElement 的值强制转换为 UInt32

Explicit(XElement to UInt64)

将此 XElement 的值强制转换为 UInt64

事件

Changed

在此 XObject 或其任何子代发生了更改时引发。

(继承自 XObject)
Changing

当此 XObject 或其任何子代要发生更改时引发。

(继承自 XObject)

显式接口实现

IXmlLineInfo.HasLineInfo()

获取一个值,该值指示此 XObject 是否具有行信息。

(继承自 XObject)
IXmlLineInfo.LineNumber

获取基础 XmlReader 为此 XObject 报告的行号。

(继承自 XObject)
IXmlLineInfo.LinePosition

获取基础 XmlReader 为此 XObject 报告的行位置。

(继承自 XObject)
IXmlSerializable.GetSchema()

获取说明此对象的 XML 表示形式的 XML 构架定义。

IXmlSerializable.ReadXml(XmlReader)

从其 XML 表示形式生成对象。

IXmlSerializable.WriteXml(XmlWriter)

将对象转换为其 XML 表示形式。

扩展方法

GetSchemaInfo(XElement)

获取已验证元素的架构验证后信息集 (PSVI)。

Validate(XElement, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler)

此方法验证 XElement 子树是否与指定的 XmlSchemaObjectXmlSchemaSet 相符。

Validate(XElement, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler, Boolean)

验证 XElement 子树是否与指定的 XmlSchemaObjectXmlSchemaSet 相符,并且可以选择使用架构验证后信息集 (PSVI) 填充 XML 树。

CreateNavigator(XNode)

XPathNavigator 创建一个 XNode

CreateNavigator(XNode, XmlNameTable)

XPathNavigator 创建一个 XNodeXmlNameTable 可以使 XPath 表达式的处理变得更高效。

XPathEvaluate(XNode, String)

计算 XPath 表达式。

XPathEvaluate(XNode, String, IXmlNamespaceResolver)

计算 XPath 表达式,使用指定的 IXmlNamespaceResolver 解析命名空间前缀。

XPathSelectElement(XNode, String)

使用 XPath 表达式选择 XElement

XPathSelectElement(XNode, String, IXmlNamespaceResolver)

使用 XPath 表达式选择 XElement,并使用指定的 IXmlNamespaceResolver 解析命名空间前缀。

XPathSelectElements(XNode, String)

使用 XPath 表达式选择一个元素集合。

XPathSelectElements(XNode, String, IXmlNamespaceResolver)

使用 XPath 表达式选择一个元素集合,并使用指定的 IXmlNamespaceResolver 解析命名空间前缀。

ToXPathNavigable(XNode)

返回一个访问器,该访问器可用于导航和编辑指定的 XNode

适用于

另请参阅