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

获取此XDocument对象的值XObject

(继承自 XObject)
DocumentType

获取此文档的文档类型定义(DTD)。

FirstNode

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

(继承自 XContainer)
LastNode

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

(继承自 XContainer)
NextNode

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

(继承自 XNode)
NodeType

获取此节点的节点类型。

Parent

获取此XElement项的父XObject级。

(继承自 XObject)
PreviousNode

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

(继承自 XNode)
Root

获取本文档的 XML 树的根元素。

方法

名称 说明
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)

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

(继承自 XNode)
CreateWriter()

创建一个XmlWriter可用于将节点添加到 .XContainer

(继承自 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, LoadOptions)

使用指定的流创建一个新 XDocument 实例,可以选择保留空格、设置基本 URI 和保留行信息。

Load(Stream)

使用指定的流创建新 XDocument 实例。

Load(String, LoadOptions)

从文件创建新 XDocument 内容,可以选择保留空格、设置基本 URI 和保留行信息。

Load(String)

从文件创建新 XDocument 项。

Load(TextReader, LoadOptions)

从一个XDocument(可选)保留空白、设置基本 URI 和保留行信息创建新TextReader内容。

Load(TextReader)

从 .XDocument. 创建一个新TextReader项。

Load(XmlReader, LoadOptions)

从 加载一个XDocumentXmlReader(可选)设置基 URI 并保留行信息。

Load(XmlReader)

从 .XDocument. 创建一个新XmlReader项。

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

从字符串创建一个新 XDocument 项,可以选择保留空格、设置基本 URI 和保留行信息。

Parse(String)

从字符串创建新 XDocument 项。

Remove()

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

(继承自 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, SaveOptions)

将此 XDocument 输出到指定的 Stream,可以选择指定格式设置行为。

Save(Stream)

将此 XDocument 输出到指定的 Stream

Save(String, SaveOptions)

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

Save(String)

将其 XDocument 序列化为文件,覆盖现有文件(如果存在)。

Save(TextWriter, SaveOptions)

将此序列化 XDocument 为可选 TextWriter禁用格式设置。

Save(TextWriter)

将此序列化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

活动

名称 说明
Changed

当此 XObject 后代或任何后代发生更改时引发。

(继承自 XObject)
Changing

当此 XObject 后代或任何后代即将更改时引发。

(继承自 XObject)

显式接口实现

名称 说明
IXmlLineInfo.HasLineInfo()

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

(继承自 XObject)
IXmlLineInfo.LineNumber

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

(继承自 XObject)
IXmlLineInfo.LinePosition

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

(继承自 XObject)

扩展方法

名称 说明
CreateNavigator(XNode, XmlNameTable)

为 . 创建一个 XPathNavigatorXNode。 这 XmlNameTable 可实现更高效的 XPath 表达式处理。

CreateNavigator(XNode)

为 . 创建一个 XPathNavigatorXNode

ToXPathNavigable(XNode)

返回一个访问器,该访问器允许你导航和编辑指定的 XNode

Validate(XDocument, XmlSchemaSet, ValidationEventHandler, Boolean)

XDocument验证符合 XSD 的 XmlSchemaSetXSD(可选)使用架构验证后信息集(PSVI)填充 XML 树。

Validate(XDocument, XmlSchemaSet, ValidationEventHandler)

此方法验证是否 XDocument 符合 . 中的 XmlSchemaSetXSD。

XPathEvaluate(XNode, String, IXmlNamespaceResolver)

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

XPathEvaluate(XNode, String)

计算 XPath 表达式。

XPathSelectElement(XNode, String, IXmlNamespaceResolver)

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

XPathSelectElement(XNode, String)

选择使用 XElement XPath 表达式。

XPathSelectElements(XNode, String, IXmlNamespaceResolver)

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

XPathSelectElements(XNode, String)

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

适用于

另请参阅