XPathNavigator 类

定义

为定位和编辑 XML 数据提供游标模型。

public ref class XPathNavigator abstract : System::Xml::XPath::XPathItem, ICloneable, System::Xml::IXmlNamespaceResolver, System::Xml::XPath::IXPathNavigable
public ref class XPathNavigator abstract : System::Xml::XPath::XPathItem, System::Xml::IXmlNamespaceResolver, System::Xml::XPath::IXPathNavigable
public ref class XPathNavigator abstract : ICloneable
public abstract class XPathNavigator : System.Xml.XPath.XPathItem, ICloneable, System.Xml.IXmlNamespaceResolver, System.Xml.XPath.IXPathNavigable
public abstract class XPathNavigator : System.Xml.XPath.XPathItem, System.Xml.IXmlNamespaceResolver, System.Xml.XPath.IXPathNavigable
public abstract class XPathNavigator : ICloneable
type XPathNavigator = class
    inherit XPathItem
    interface ICloneable
    interface IXmlNamespaceResolver
    interface IXPathNavigable
type XPathNavigator = class
    inherit XPathItem
    interface IXmlNamespaceResolver
    interface IXPathNavigable
type XPathNavigator = class
    interface ICloneable
type XPathNavigator = class
    inherit XPathItem
    interface ICloneable
    interface IXPathNavigable
    interface IXmlNamespaceResolver
Public MustInherit Class XPathNavigator
Inherits XPathItem
Implements ICloneable, IXmlNamespaceResolver, IXPathNavigable
Public MustInherit Class XPathNavigator
Inherits XPathItem
Implements IXmlNamespaceResolver, IXPathNavigable
Public MustInherit Class XPathNavigator
Implements ICloneable
继承
XPathNavigator
继承
XPathNavigator
派生
实现

注解

XPathNavigator命名空间中的 System.Xml.XPath 类是一个抽象类,它定义一个游标模型,用于将 XML 信息项作为 XQuery 1.0 和 XPath 2.0 数据模型的实例进行导航和编辑。

对象 XPathNavigator 是从实现 IXPathNavigable 接口的类(如 XPathDocumentXmlDocument 类)创建的。 XPathNavigator 对象 XPathDocument 创建的对象是只读的,而 XPathNavigator 对象创建的对象 XmlDocument 可以编辑。 对象的 XPathNavigator 只读或可编辑状态是使用 CanEdit 类的 属性确定的 XPathNavigator

有关使用 XPath 数据模型处理 XML 数据的详细信息,请参阅 使用 XPath 数据模型处理 XML 数据 主题。

重要

由于使用 XPathNavigator 类(如 XPathException 类)而引发的异常可能包含不应在不受信任的方案中公开的敏感信息。 应正确处理异常,以便在不受信任的方案中不公开此敏感信息。

实施者说明

XPathNavigator 类继承时,必须重写以下成员:

构造函数

XPathNavigator()

初始化 XPathNavigator 类的新实例。

属性

BaseURI

当在派生类中被重写时,获取当前节点的基 URI。

CanEdit

获取一个值,该值指示 XPathNavigator 是否可以编辑基础 XML 数据。

HasAttributes

获取一个值,该值指示当前节点是否有任何属性。

HasChildren

获取一个值,该值指示当前节点是否有任何子节点。

InnerXml

获取或设置表示当前节点的子节点标记。

IsEmptyElement

当在派生类中被重写时,获取一个值,该值指示当前节点是否是一个没有结束元素标记的空元素。

IsNode

获取一个值,该值指示当前节点是否表示一个 XPath 节点。

LocalName

在派生类中被重写时,获取当前节点的 Name(不带任何命名空间前缀)。

Name

当在派生类中被重写时,获取当前节点的限定名。

NamespaceURI

当在派生类中被重写时,获取当前节点的命名空间 URI。

NameTable

当在派生类中被重写时,获取 XmlNameTableXPathNavigator

NavigatorComparer

获取 IEqualityComparer,它用于 XPathNavigator 对象的相等比较。

NodeType

当在派生类中被重写时,获取当前节点的 XPathNodeType

OuterXml

获取或设置表示当前节点及其子节点的开始标记及结束标记的标记。

Prefix

当在派生类中被重写时,获取与当前节点关联的命名空间前缀。

SchemaInfo

获取作为架构验证结果分配给当前节点的架构信息。

TypedValue

获取作为最合适的 .NET 类型的已装箱对象的当前节点。

UnderlyingObject

由在存储区上提供“虚拟化”XML 视图的 XPathNavigator 实现使用,以提供对基础对象的访问。

Value

当在派生类中重写时,获取该项的字符串值。

Value

当在派生类中重写时,获取项的 string 值。

(继承自 XPathItem)
ValueAsBoolean

获取当前节点的 Boolean 类型的值。

ValueAsDateTime

获取当前节点的 DateTime 类型的值。

ValueAsDouble

获取当前节点的 Double 类型的值。

ValueAsInt

获取当前节点的 Int32 类型的值。

ValueAsLong

获取当前节点的 Int64 类型的值。

ValueType

获取当前节点的 .NET Type

XmlLang

获取 xml:lang 当前节点的范围。

XmlType

获取当前节点的 XmlSchemaType 信息。

XmlType

当在派生类中重写时,将获取项的 XmlSchemaType

(继承自 XPathItem)

方法

AppendChild()

返回一个 XmlWriter 对象,该对象用于在当前节点的子节点列表的末尾创建一个或多个新的子节点。

AppendChild(String)

使用指定的 XML 数据字符串在当前节点的子节点列表的末尾创建一个新的子节点。

AppendChild(XmlReader)

使用指定的 XmlReader 对象的 XML 内容在当前节点的子节点列表的末尾创建一个新的子节点。

AppendChild(XPathNavigator)

使用指定的 XPathNavigator 中的节点在当前节点的子节点列表的末尾创建一个新的子节点。

AppendChildElement(String, String, String, String)

使用通过指定值指定的命名空间前缀、本地名称和命名空间 URI 在当前节点的子节点列表的末尾创建一个新的子元素节点。

CheckValidity(XmlSchemaSet, ValidationEventHandler)

验证 XPathNavigator 中的 XML 数据是否符合所提供的 XML 架构定义语言 (XSD) 架构。

Clone()

当在派生类中被重写时,创建一个新的 XPathNavigator,它定位到的节点与此 XPathNavigator 定位到的节点相同。

ComparePosition(XPathNavigator)

将当前 XPathNavigator 的位置与指定的 XPathNavigator 的位置进行比较。

Compile(String)

编译一个表示 XPath 表达式的字符串,并返回 XPathExpression 对象。

CreateAttribute(String, String, String, String)

使用通过指定值指定的命名空间前缀、本地名称和命名空间 URI 在当前元素节点上创建一个属性节点。

CreateAttributes()

返回一个 XmlWriter 对象,该对象用于在当前元素上创建一个新属性。

CreateNavigator()

返回 XPathNavigator 的一个副本。

DeleteRange(XPathNavigator)

删除从当前节点到指定节点之间的一组同级节点。

DeleteSelf()

删除当前节点及其子节点。

Equals(Object)

确定指定对象是否等于当前对象。

(继承自 Object)
Evaluate(String)

计算指定的 XPath 表达式并返回类型化结果。

Evaluate(String, IXmlNamespaceResolver)

计算指定的 XPath 表达式并返回类型化结果,以使用指定的 IXmlNamespaceResolver 对象解析 XPath 表达式中的命名空间前缀。

Evaluate(XPathExpression)

计算 XPathExpression 并返回类型化结果。

Evaluate(XPathExpression, XPathNodeIterator)

使用提供的上下文计算 XPathExpression,并返回类型化结果。

GetAttribute(String, String)

获取具有指定本地名称和命名空间 URI 的属性的值。

GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetNamespace(String)

返回与所指定本地名称对应的命名空间节点的值。

GetNamespacesInScope(XmlNamespaceScope)

返回当前节点的范围内命名空间。

GetType()

获取当前实例的 Type

(继承自 Object)
InsertAfter()

返回一个 XmlWriter 对象,该对象用于在当前选定的节点之后创建一个新的同级节点。

InsertAfter(String)

使用指定的 XML 字符串在当前选定的节点之后创建一个新的同级节点。

InsertAfter(XmlReader)

使用指定的 XmlReader 对象的 XML 内容,在当前所选节点之后创建一个新的同级节点。

InsertAfter(XPathNavigator)

使用指定的 XPathNavigator 对象中的节点在当前选定的节点之后创建一个新的同级节点。

InsertBefore()

返回一个 XmlWriter 对象,该对象用于在当前选定的节点之前创建一个新的同级节点。

InsertBefore(String)

使用指定的 XML 字符串在当前选定的节点之前创建一个新的同级节点。

InsertBefore(XmlReader)

使用 XmlReader 对象指定的 XML 内容在当前选定的节点之前创建一个新的同级节点。

InsertBefore(XPathNavigator)

使用指定的 XPathNavigator 中的节点在当前选定的节点之前创建一个新的同级节点。

InsertElementAfter(String, String, String, String)

使用通过指定值指定的命名空间前缀、本地名称和命名空间 URI 在当前节点之后创建一个新的同级元素。

InsertElementBefore(String, String, String, String)

使用通过指定值指定的命名空间前缀、本地名称和命名空间 URI 在当前节点之前创建一个新的同级元素。

IsDescendant(XPathNavigator)

确定指定的 XPathNavigator 是否是当前 XPathNavigator 的子代。

IsSamePosition(XPathNavigator)

当在派生类中被重写时,确定当前的 XPathNavigator 是否位于与指定的 XPathNavigator 相同的位置。

LookupNamespace(String)

获取指定前缀的命名空间 URI。

LookupPrefix(String)

获取为指定的命名空间 URI 声明的前缀。

Matches(String)

确定当前节点是否与指定的 XPath 表达式匹配。

Matches(XPathExpression)

确定当前节点是否匹配指定的 XPathExpression

MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
MoveTo(XPathNavigator)

当在派生类中被重写时,将 XPathNavigator 移动到与指定的 XPathNavigator 相同的位置。

MoveToAttribute(String, String)

XPathNavigator 移动到具有匹配的本地名称和命名空间 URI 的属性上。

MoveToChild(String, String)

XPathNavigator 移动到具有指定的本地名称和命名空间 URI 的子节点。

MoveToChild(XPathNodeType)

XPathNavigator 移动到指定的 XPathNodeType 的子节点。

MoveToFirst()

XPathNavigator 移至当前节点的第一个同级节点。

MoveToFirstAttribute()

当在派生类中重写时,将 XPathNavigator 移动到当前节点的第一个属性。

MoveToFirstChild()

当在派生类中被重写时,将 XPathNavigator 移动到当前节点的第一个子节点。

MoveToFirstNamespace()

XPathNavigator 移动到当前节点的第一个命名空间节点。

MoveToFirstNamespace(XPathNamespaceScope)

当在派生类中被重写时,将 XPathNavigator 移动到与指定的 XPathNamespaceScope 匹配的第一个命名空间节点。

MoveToFollowing(String, String)

按文档顺序将 XPathNavigator 移动到具有指定的本地名称和命名空间 URI 的元素。

MoveToFollowing(String, String, XPathNavigator)

按文档顺序将 XPathNavigator 移动到指定的边界内具有指定的本地名称和命名空间 URI 的元素。

MoveToFollowing(XPathNodeType)

按文档顺序将 XPathNavigator 移动到下一个属于指定 XPathNodeType 的元素。

MoveToFollowing(XPathNodeType, XPathNavigator)

按文档顺序将 XPathNavigator 移动到指定边界内下一个属于指定 XPathNodeType 的元素。

MoveToId(String)

在派生类中重写时,将移动到具有 类型 ID 特性的节点,其值与指定的 String匹配。

MoveToNamespace(String)

XPathNavigator 移动到具有指定的命名空间前缀的命名空间节点。

MoveToNext()

当在派生类中被重写时,将 XPathNavigator 移动到当前节点的下一个同级节点。

MoveToNext(String, String)

XPathNavigator 移动到下一个具有指定的本地名称和命名空间 URI 的同级节点。

MoveToNext(XPathNodeType)

XPathNavigator 移动到当前节点中与指定的 XPathNodeType 匹配的下一个同级节点。

MoveToNextAttribute()

当在派生类中被重写时,将 XPathNavigator 移动到下一个属性。

MoveToNextNamespace()

XPathNavigator 移动到下一个命名空间节点。

MoveToNextNamespace(XPathNamespaceScope)

当在派生类中被重写时,将 XPathNavigator 移动到与指定的 XPathNamespaceScope 匹配的下一个命名空间节点。

MoveToParent()

当在派生类中被重写时,将 XPathNavigator 移动到当前节点的父节点。

MoveToPrevious()

当在派生类中被重写时,将 XPathNavigator 移动到当前节点的上一个同级节点。

MoveToRoot()

XPathNavigator 移动到当前节点所属的根节点。

PrependChild()

返回一个 XmlWriter 对象,该对象用于在当前节点的子节点列表的开始处创建一个新的子节点。

PrependChild(String)

使用指定的 XML 字符串在当前节点的子节点列表的开始处创建一个新的子节点。

PrependChild(XmlReader)

使用指定的 XmlReader 对象的 XML 内容,在当前节点的子节点列表的开始处创建一个新的子节点。

PrependChild(XPathNavigator)

使用指定的 XPathNavigator 对象中的节点在当前节点的子节点列表的开始处创建一个新的子节点。

PrependChildElement(String, String, String, String)

使用通过指定值指定的命名空间前缀、本地名称和命名空间 URI 在当前节点的子节点列表的开始处创建一个新的子元素。

ReadSubtree()

返回一个 XmlReader 对象,该对象包含当前节点及其子节点。

ReplaceRange(XPathNavigator)

替换从当前节点到指定节点之间的一组同级节点。

ReplaceSelf(String)

将当前节点替换为指定的字符串内容。

ReplaceSelf(XmlReader)

将当前节点替换为指定的 XmlReader 对象的内容。

ReplaceSelf(XPathNavigator)

将当前节点替换为指定的 XPathNavigator 对象的内容。

Select(String)

使用指定的 XPath 表达式选择节点集。

Select(String, IXmlNamespaceResolver)

通过指定的 IXmlNamespaceResolver 对象使用指定的 XPath 表达式来选择节点集,以解析命名空间前缀。

Select(XPathExpression)

使用指定的 XPathExpression 来选择节点集。

SelectAncestors(String, String, Boolean)

选择当前节点中具有指定的本地名称和命名空间 URI 的所有上级节点。

SelectAncestors(XPathNodeType, Boolean)

选择当前节点中具有匹配的 XPathNodeType 的所有上级节点。

SelectChildren(String, String)

选择当前节点中具有指定的本地名称和命名空间 URI 的所有子节点。

SelectChildren(XPathNodeType)

选择当前节点中具有匹配的 XPathNodeType 的所有子节点。

SelectDescendants(String, String, Boolean)

选择当前节点中具有指定的本地名称和命名空间 URI 的所有子代节点。

SelectDescendants(XPathNodeType, Boolean)

选择当前节点中具有匹配的 XPathNodeType 的所有子代节点。

SelectSingleNode(String)

使用指定的 XPath 查询选择 XPathNavigator 中的单个节点。

SelectSingleNode(String, IXmlNamespaceResolver)

通过指定的 XPathNavigator 对象使用指定的 XPath 查询在 IXmlNamespaceResolver 中选择单个节点,以解析命名空间前缀。

SelectSingleNode(XPathExpression)

使用指定的 XPathNavigator 对象在 XPathExpression 中选择单个节点。

SetTypedValue(Object)

设置当前节点的类型化值。

SetValue(String)

设置当前节点的值。

ToString()

获取当前节点的文本值。

ValueAs(Type)

按照指定的类型返回该项的值。

(继承自 XPathItem)
ValueAs(Type, IXmlNamespaceResolver)

获取当前节点的指定 Type 形式的值,以使用指定的 IXmlNamespaceResolver 对象解析命名空间前缀。

WriteSubtree(XmlWriter)

将当前节点及其子节点流式传输到指定的 XmlWriter 对象。

显式接口实现

ICloneable.Clone()

创建 XPathNavigator 对象的新副本。

适用于

另请参阅