XDocument 类

定义

表示 XML 文档。 有关 XDocument 对象的组件和用法,请参阅 XDocument Class Overview

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

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

(继承自 XNode)
NodeType

获取此节点的节点类型。

Parent

获取此 XObject 的父级 XElement

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

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

(继承自 XNode)
CreateWriter()

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

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

创建包含指定的 XmlReader 的内容的新 XDocument

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
Nodes()

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

(继承自 XContainer)
NodesAfterSelf()

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

(继承自 XNode)
NodesBeforeSelf()

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

(继承自 XNode)
Parse(String)

从字符串创建新 XDocument

Parse(String, LoadOptions)

从字符串创建新 XDocument,还可以选择保留空白和行信息以及设置基 URI。

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)

将此 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)

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

适用于

另请参阅