XDocument 類別

定義

表示 XML 文件。 如需 XDocument 物件的元件和用法,請參閱 XDocument 類別概觀

public ref class XDocument : System::Xml::Linq::XContainer
public class XDocument : System.Xml.Linq.XContainer
type XDocument = class
    inherit XContainer
Public Class XDocument
Inherits XContainer
繼承

範例

下列範例會建立檔,然後將批註和元素加入其中。 然後,它會使用查詢的結果來撰寫另一份檔。

XDocument srcTree = new XDocument(
    new XComment("This is a comment"),
    new XElement("Root",
        new XElement("Child1", "data1"),
        new XElement("Child2", "data2"),
        new XElement("Child3", "data3"),
        new XElement("Child2", "data4"),
        new XElement("Info5", "info5"),
        new XElement("Info6", "info6"),
        new XElement("Info7", "info7"),
        new XElement("Info8", "info8")
    )
);

XDocument doc = new XDocument(
    new XComment("This is a comment"),
    new XElement("Root",
        from el in srcTree.Element("Root").Elements()
        where ((string)el).StartsWith("data")
        select el
    )
);
Console.WriteLine(doc);
Dim srcTree As XDocument = _
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
        <!--This is a comment-->
        <Root>
            <Child1>data1</Child1>
            <Child2>data2</Child2>
            <Child3>data3</Child3>
            <Child2>data4</Child2>
            <Info5>info5</Info5>
            <Info6>info6</Info6>
            <Info7>info7</Info7>
            <Info8>info8</Info8>
        </Root>
Dim doc As XDocument = _
    <?xml version="1.0" encoding="utf-8" standalone="yes"?>
        <!--This is a comment-->
        <Root>
            <%= From el In srcTree.<Root>.Elements _
                Where CStr(el).StartsWith("data") _
                Select el %>
        </Root>
Console.WriteLine(doc)

這個範例會產生下列輸出:

<!--This is a comment-->
<Root>
  <Child1>data1</Child1>
  <Child2>data2</Child2>
  <Child3>data3</Child3>
  <Child2>data4</Child2>
</Root>

備註

如需 有效內容 XDocument 的詳細資訊,請參閱 XElement 和 XDocument 物件的有效內容

建構函式

XDocument()

初始化 XDocument 類別的新執行個體。

XDocument(Object[])

使用指定的內容初始化 XDocument 類別的新執行個體。

XDocument(XDeclaration, Object[])

使用指定的 XDocument 和內容,初始化 XDeclaration 類別的新執行個體。

XDocument(XDocument)

從現有的 XDocument 物件,初始化 XDocument 類別的新執行個體。

屬性

BaseUri

取得此 XObject 的基底 URI。

(繼承來源 XObject)
Declaration

取得或設定這個文件的 XML 宣告。

Document

取得此 XDocumentXObject

(繼承來源 XObject)
DocumentType

取得這個文件的文件類型定義 (DTD)。

FirstNode

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

(繼承來源 XContainer)
LastNode

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

(繼承來源 XContainer)
NextNode

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

(繼承來源 XNode)
NodeType

取得此節點的節點類型。

Parent

取得這個 XElementXObject

(繼承來源 XObject)
PreviousNode

取得這個節點的上一個同層級節點。

(繼承來源 XNode)
Root

取得此文件之 XML 樹狀的根項目 (Root Element)。

方法

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)
Annotation(Type)

從此 XObject 取得指定類型的第一個註釋物件。

(繼承來源 XObject)
Annotation<T>()

從此 XObject 取得指定類型的第一個註釋物件。

(繼承來源 XObject)
Annotations(Type)

取得此 XObject 之指定類型註釋的集合。

(繼承來源 XObject)
Annotations<T>()

取得此 XObject 之指定類型註釋的集合。

(繼承來源 XObject)
CreateReader()

建立這個節點的 XmlReader

(繼承來源 XNode)
CreateReader(ReaderOptions)

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

(繼承來源 XNode)
CreateWriter()

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

(繼承來源 XContainer)
DescendantNodes()

依照文件順序,傳回這個文件或項目之子代節點的集合。

(繼承來源 XContainer)
Descendants()

依照文件順序,傳回這個項目或文件之子代項目的集合。

(繼承來源 XContainer)
Descendants(XName)

依照文件順序,傳回這個文件或項目之已篩選子代項目的集合。 集合中只會包含具有相符之 XName 的項目。

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

做為預設雜湊函式。

(繼承來源 Object)
GetType()

取得目前執行個體的 Type

(繼承來源 Object)
IsAfter(XNode)

根據文件順序,判斷目前的節點是否出現在指定的節點之後。

(繼承來源 XNode)
IsBefore(XNode)

根據文件順序,判斷目前的節點是否出現在指定的節點之前。

(繼承來源 XNode)
Load(Stream)

使用指定的資料流,建立新的 XDocument 執行個體。

Load(Stream, LoadOptions)

使用指定的資料流建立新的 XDocument 執行個體,並選擇性地保留空白字元、設定基底 URI,以及保留行資訊。

Load(String)

從檔案建立新的 XDocument

Load(String, LoadOptions)

從檔案建立新的 XDocument,並選擇性地保留泛空白字元、設定基底 URI,以及保留行資訊。

Load(TextReader)

XDocument 建立新的 TextReader

Load(TextReader, LoadOptions)

XDocument 建立新的 TextReader,並選擇性地保留泛空白字元、設定基底 URI,以及保留行資訊。

Load(XmlReader)

XDocument 建立新的 XmlReader

Load(XmlReader, LoadOptions)

XDocument 載入 XmlReader,選擇性地設定基底 URI,並保留行資訊。

LoadAsync(Stream, LoadOptions, CancellationToken)

以非同步方式建立新的 XDocument,並從指定的串流將其基礎 XML 樹狀結構初始化 (選擇性地保留空白字元)。

LoadAsync(TextReader, LoadOptions, CancellationToken)

建立新的 XDocument,並使用指定的 TextReader 參數來將其基礎 XML 樹狀結構初始化 (選擇性地保留空白字元)。

LoadAsync(XmlReader, LoadOptions, CancellationToken)

建立新的 XDocument,其中包含指定 XmlReader 的內容。

MemberwiseClone()

建立目前 Object 的淺層複製。

(繼承來源 Object)
Nodes()

依照文件順序,傳回這個項目或文件之子代節點的集合。

(繼承來源 XContainer)
NodesAfterSelf()

依照文件順序,傳回這個節點之後同層級節點的集合。

(繼承來源 XNode)
NodesBeforeSelf()

依照文件順序,傳回這個節點之前同層級節點的集合。

(繼承來源 XNode)
Parse(String)

從字串建立新的 XDocument

Parse(String, LoadOptions)

從字串建立新的 XDocument,並選擇性地保留泛空白字元、設定基底 URI,以及保留行資訊。

Remove()

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

(繼承來源 XNode)
RemoveAnnotations(Type)

從這個 XObject 中移除指定之類型的註釋。

(繼承來源 XObject)
RemoveAnnotations<T>()

從這個 XObject 中移除指定之類型的註釋。

(繼承來源 XObject)
RemoveNodes()

從此文件或項目中移除子節點。

(繼承來源 XContainer)
ReplaceNodes(Object)

以指定的內容取代這個文件或項目的子節點。

(繼承來源 XContainer)
ReplaceNodes(Object[])

以指定的內容取代這個文件或項目的子節點。

(繼承來源 XContainer)
ReplaceWith(Object)

以指定的內容取代這個節點。

(繼承來源 XNode)
ReplaceWith(Object[])

以指定的內容取代這個節點。

(繼承來源 XNode)
Save(Stream)

將這個 XDocument 輸出到指定的 Stream

Save(Stream, SaveOptions)

將這個 XDocument 輸出至指定的 Stream,選擇性地指定格式化行為。

Save(String)

將此 XDocument 序列化至檔案,並覆寫現有的檔案 (如果存在)。

Save(String, SaveOptions)

將此 XDocument 序列化為檔案,選擇性地停用格式設定。

Save(TextWriter)

將此 XDocument 序列化為 TextWriter

Save(TextWriter, SaveOptions)

將此 XDocument 序列化為 TextWriter,選擇性地停用格式設定。

Save(XmlWriter)

將此 XDocument 序列化為 XmlWriter

SaveAsync(Stream, SaveOptions, CancellationToken)

將這個 XDocument 輸出至 Stream

SaveAsync(TextWriter, SaveOptions, CancellationToken)

將這個 XDocument 寫入至 TextWriter

SaveAsync(XmlWriter, CancellationToken)

將這個 XDocument 寫入至 XmlWriter

ToString()

針對這個節點傳回縮排的 XML。

(繼承來源 XNode)
ToString(SaveOptions)

傳回這個節點的 XML (可選擇是否停用格式設定)。

(繼承來源 XNode)
WriteTo(XmlWriter)

將此文件寫入 XmlWriter

WriteToAsync(XmlWriter, CancellationToken)

將這個 XDocument 的基礎 XML 樹狀結構寫入至指定的 XmlWriter

WriteToAsync(XmlWriter, CancellationToken)

將目前的節點寫入 XmlWriter

(繼承來源 XNode)

事件

Changed

當此 XObject 或其任何子代發生變更時會引發。

(繼承來源 XObject)
Changing

當此 XObject 或其任何子代發生變更時會引發。

(繼承來源 XObject)

明確介面實作

IXmlLineInfo.HasLineInfo()

取得值,指出此 XObject 是否具有行資訊。

(繼承來源 XObject)
IXmlLineInfo.LineNumber

取得基礎 XmlReader 所回報此 XObject 的行號。

(繼承來源 XObject)
IXmlLineInfo.LinePosition

取得基礎 XmlReader 所報告之此 XObject 的行位置。

(繼承來源 XObject)

擴充方法

Validate(XDocument, XmlSchemaSet, ValidationEventHandler)

這個方法會驗證 XDocument 是否符合 XmlSchemaSet 中的 XSD。

Validate(XDocument, XmlSchemaSet, ValidationEventHandler, Boolean)

驗證 XDocument 是否符合 XmlSchemaSet 中的 XSD,並選擇性地將後結構描述驗證資訊集 (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

適用於

另請參閱