XDocument 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示 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) |
属性
| 名称 | 说明 |
|---|---|
| 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) |
扩展方法
| 名称 | 说明 |
|---|---|
| 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 表达式选择元素集合。 |