XDocument 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 XML 文档。 有关 XDocument 对象的组件和用法,请参阅 XDocument Class Overview。
public ref class XDocument : System::Xml::Linq::XContainerpublic class XDocument : System.Xml.Linq.XContainertype XDocument = class
    inherit XContainerPublic 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) | 
属性
| BaseUri | 获取此 XObject 的基 URI。(继承自 XObject) | 
| Declaration | 获取或设置此文档的 XML 声明。 | 
| Document | (继承自 XObject) | 
| DocumentType | 获取此文档的文档类型定义 (DTD)。 | 
| FirstNode | 获取此节点的第一个子节点。(继承自 XContainer) | 
| LastNode | 获取此节点的最后一个子节点。(继承自 XContainer) | 
| NextNode | 获取此节点的下一个同级节点。(继承自 XNode) | 
| NodeType | 获取此节点的节点类型。 | 
| Parent | (继承自 XObject) | 
| PreviousNode | 获取此节点的上一个同级节点。(继承自 XNode) | 
| Root | 获取此文档的 XML 树的根元素。 | 
方法
事件
| 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 创建一个 XNode。 XmlNameTable 可以使 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。 |