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