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

取得這個節點的下一個同層級 (Sibling) 節點。

(繼承來源 XNode)
NodeType

取得此節點的節點類型。

Parent

取得這個 XElementXObject

(繼承來源 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)

傳回這個 XAttributeXElement,其具有指定的 XName

Attributes()

傳回這個元素的屬性集合。

Attributes(XName)

傳回這個元素的已篩選屬性集合。 集合中只會包含具有相符之 XName 的屬性。

CreateReader()

建立這個節點的 XmlReader

(繼承來源 XNode)
CreateReader(ReaderOptions)

使用 readerOptions 參數指定的選項建立 XmlReader

(繼承來源 XNode)
CreateWriter()

建立可以用來將節點加入到 XmlWriterXContainer

(繼承來源 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()

將這個節點從其父代 (Parent) 移除。

(繼承來源 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 的值轉型為 Nullable<T>Boolean

Explicit(XElement to Nullable<DateTime>)

將此 XElement 的值轉型為 Nullable<T>DateTime

Explicit(XElement to Nullable<DateTimeOffset>)

將此 XElement 的值轉型為 Nullable<T>DateTimeOffset

Explicit(XElement to Nullable<Decimal>)

將此 XElement 的值轉型為 Nullable<T>Decimal

Explicit(XElement to Nullable<Double>)

將此 XElement 的值轉型為 Nullable<T>Double

Explicit(XElement to Nullable<Guid>)

將此 XElement 的值轉型為 Nullable<T>Guid

Explicit(XElement to Nullable<Int32>)

將此 XElement 的值轉型為 Nullable<T>Int32

Explicit(XElement to Nullable<Int64>)

將此 XElement 的值轉型為 Nullable<T>Int64

Explicit(XElement to Nullable<Single>)

將此 XElement 的值轉型為 Nullable<T>Single

Explicit(XElement to Nullable<TimeSpan>)

將此 XElement 的值轉型為 Nullable<T>TimeSpan

Explicit(XElement to Nullable<UInt32>)

將此 XElement 的值轉型為 Nullable<T>UInt32

Explicit(XElement to Nullable<UInt64>)

將此 XElement 的值轉型為 Nullable<T>UInt64

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)

建立 XPathNavigatorXNode

CreateNavigator(XNode, XmlNameTable)

建立 XPathNavigatorXNodeXmlNameTable 可讓 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

適用於

另請參閱