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)。

An XElement 可以包含以下類型的內容:

關於 的有效內容 XElement詳情,請參見 XElement 與 XDocument 物件的有效內容

XElementXContainer衍生出 ,而 又由 衍生出 XNode

有些 XElement 方法可以從 XAML 使用。 如需詳細資訊,請參閱 LINQ to XML 動態屬性

建構函式

名稱 Description
XElement(XElement)

從另一個XElement物件初始化該XElement類別的新實例。

XElement(XName, Object)

初始化一個以指定名稱和內容的新類別實例 XElement

XElement(XName, Object[])

初始化一個以指定名稱和內容的新類別實例 XElement

XElement(XName)

初始化一個以指定名稱的新 XElement 類別實例。

XElement(XStreamingElement)

從物件XElement初始化該類別的新實例XStreamingElement

屬性

名稱 Description
BaseUri

取得基本的 URI 來處理這個 XObject

(繼承來源 XObject)
Document

為此XDocument付出XObject代價。

(繼承來源 XObject)
EmptySequence

會得到一個空的元素集合。

FirstAttribute

獲得該元素的第一個屬性。

FirstNode

取得該節點的第一個子節點。

(繼承來源 XContainer)
HasAttributes

會得到一個值,表示該元素是否至少有一個屬性。

HasElements

會得到一個值,表示該元素是否至少有一個子元素。

IsEmpty

會取得一個值,表示該元素是否包含任何內容。

LastAttribute

獲得該元素的最後一個屬性。

LastNode

取得該節點的最後一個子節點。

(繼承來源 XContainer)
Name

取得或設定此元素的名稱。

NextNode

取得該節點的下一個兄弟節點。

(繼承來源 XNode)
NodeType

取得該節點的節點類型。

Parent

得到這個XElement家長XObject

(繼承來源 XObject)
PreviousNode

取得該節點的前一個兄弟節點。

(繼承來源 XNode)
Value

取得或設定此元素的串接文字內容。

方法

名稱 Description
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 此中 XElement 指定為 XName的 。

Attributes()

回傳該元素的一組屬性。

Attributes(XName)

回傳該元素的篩選屬性集合。 只有與 Match 相符 XName 的屬性才會被納入集合中。

CreateReader()

為該節點建立 。XmlReader

(繼承來源 XNode)
CreateReader(ReaderOptions)

建立參數指定XmlReader選項的 。readerOptions

(繼承來源 XNode)
CreateWriter()

會產生XmlWriter一個,可以用來在 中加入節點。XContainer

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

透過使用指定的串流建立新 XElement 實例,並可選擇保留空白空間、設定基礎 URI 並保留行資訊。

Load(Stream)

透過指定的串流建立一個新 XElement 實例。

Load(String, LoadOptions)

載入 和 XElement from檔案,可選擇保留空白、設定基礎 URI,並保留行資訊。

Load(String)

從檔案載入 和 XElement

Load(TextReader, LoadOptions)

從 載入 ,XElementTextReader選擇性保留空白並保留行資訊。

Load(TextReader)

XElementTextReader.

Load(XmlReader, LoadOptions)

從 載入 ,XElementXmlReader可選擇保留空白,設定基礎 URI,並保留行資訊。

Load(XmlReader)

XElementXmlReader.

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, LoadOptions)

從包含 XML 的字串載入 , XElement 可選擇性保留空白並保留行資訊。

Parse(String)

從包含 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, SaveOptions)

輸出 XElement 為指定的 Stream格式行為,可選擇性地指定格式化。

Save(Stream)

XElement輸出為指定的 Stream

Save(String, SaveOptions)

將此元素序列化為檔案,並可選擇關閉格式化。

Save(String)

將這個元素序列化成一個檔案。

Save(TextWriter, SaveOptions)

將此元素序列化為 TextWriter可選擇性停用的格式。

Save(TextWriter)

將此元素序列化為 TextWriter

Save(XmlWriter)

將此元素序列化為 XmlWriter

SaveAsync(Stream, SaveOptions, CancellationToken)

非同步輸出為 XElementStream

SaveAsync(TextWriter, SaveOptions, CancellationToken)

非同步輸出為 XElementTextWriter

SaveAsync(XmlWriter, CancellationToken)

非同步輸出為 XElementXmlWriter

SetAttributeValue(XName, Object)

設定屬性的值、新增屬性或移除屬性。

SetElementValue(XName, Object)

設定子元素的值、新增子元素或移除子元素。

SetValue(Object)

設定此元素的值。

ToString()

回傳該節點的縮排 XML。

(繼承來源 XNode)
ToString(SaveOptions)

回傳此節點的 XML,並可選擇性地停用格式化。

(繼承來源 XNode)
WriteTo(XmlWriter)

將此元素寫入 XmlWriter

WriteToAsync(XmlWriter, CancellationToken)

非同步地將此寫 XElement 入指定的寫入者。

操作員

名稱 Description
Explicit(XElement to Boolean)

將此XElementBoolean值鑄為 。

Explicit(XElement to DateTime)

將此XElementDateTime值鑄為 。

Explicit(XElement to DateTimeOffset)

將此XAttributeDateTimeOffset值鑄為 。

Explicit(XElement to Decimal)

將此XElementDecimal值鑄為 。

Explicit(XElement to Double)

將此XElementDouble值鑄為 。

Explicit(XElement to Guid)

將此XElementGuid值鑄為 。

Explicit(XElement to Int32)

將此XElementInt32值鑄造成 。

Explicit(XElement to Int64)

將此XElementInt64值鑄造成 。

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)

將此XElementSingle值鑄為 。

Explicit(XElement to String)

將此XElementString值鑄為 。

Explicit(XElement to TimeSpan)

將此XElementTimeSpan值鑄為 。

Explicit(XElement to UInt32)

將此XElementUInt32值鑄為 。

Explicit(XElement to UInt64)

將此XElementUInt64值鑄為 。

事件

名稱 Description
Changed

當這個 XObject 或其後代改變時,他會被養育。

(繼承來源 XObject)
Changing

當這個 XObject 或其後代即將改變時,他被養育。

(繼承來源 XObject)

明確介面實作

名稱 Description
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 表示。

擴充方法

名稱 Description
CreateNavigator(XNode, XmlNameTable)

會產生一個 XPathNavigator ,為 XNode。 這使得 XmlNameTable XPath 表達式處理更有效率。

CreateNavigator(XNode)

會產生一個 XPathNavigator ,為 XNode

GetSchemaInfo(XElement)

取得已驗證元素的後結構驗證資訊集(PSVI)。

ToXPathNavigable(XNode)

回傳一個存取器,允許你瀏覽並編輯指定的 XNode

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

驗證子樹是否 XElement 符合指定的 XmlSchemaObjectXmlSchemaSet,並可選擇性地將 XML 樹填充後 schema-validation 資訊集(PSVI)。

Validate(XElement, XmlSchemaObject, XmlSchemaSet, ValidationEventHandler)

此方法驗證子樹是否 XElement 符合指定的 XmlSchemaObjectXmlSchemaSet

XPathEvaluate(XNode, String, IXmlNamespaceResolver)

評估 XPath 表達式,並利用指定的 IXmlNamespaceResolver

XPathEvaluate(XNode, String)

評估一個 XPath 表達式。

XPathSelectElement(XNode, String, IXmlNamespaceResolver)

使用 XPath 表達式選取 , XElement 並用指定的 IXmlNamespaceResolver命名空間前綴解析。

XPathSelectElement(XNode, String)

使用 XPath 表達式選擇 。XElement

XPathSelectElements(XNode, String, IXmlNamespaceResolver)

使用 XPath 表達式選取一組元素,並用指定的 IXmlNamespaceResolver命名空間前綴解析。

XPathSelectElements(XNode, String)

使用 XPath 表達式選擇一組元素。

適用於

另請參閱