通过


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

在派生类中重写时,获取 XmlNameTable .XPathNavigator

NavigatorComparer

获取用于对象相等比较的XPathNavigator一个IEqualityComparer

NodeType

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

OuterXml

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

Prefix

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

SchemaInfo

获取由于架构验证而分配给当前节点的架构信息。

TypedValue

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

UnderlyingObject

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

Value

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

Value

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

(继承自 XPathItem)
ValueAsBoolean

获取当前节点的值作为一个 Boolean

ValueAsDateTime

获取当前节点的值作为一个 DateTime

ValueAsDouble

获取当前节点的值作为一个 Double

ValueAsInt

获取当前节点的值作为一个 Int32

ValueAsLong

获取当前节点的值作为一个 Int64

ValueType

获取当前节点的 .NET Type

XmlLang

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

XmlType

XmlSchemaType获取当前节点的信息。

方法

名称 说明
AppendChild()

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

AppendChild(String)

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

AppendChild(XmlReader)

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

AppendChild(XPathNavigator)

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

AppendChildElement(String, String, String, String)

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

CheckValidity(XmlSchemaSet, ValidationEventHandler)

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

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, IXmlNamespaceResolver)

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

Evaluate(String)

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

Evaluate(XPathExpression, XPathNodeIterator)

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

Evaluate(XPathExpression)

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

GetAttribute(String, String)

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

GetHashCode()

用作默认哈希函数。

(继承自 Object)
GetNamespace(String)

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

GetNamespacesInScope(XmlNamespaceScope)

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

GetType()

获取当前实例的 Type

(继承自 Object)
InsertAfter()

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

InsertAfter(String)

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

InsertAfter(XmlReader)

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

InsertAfter(XPathNavigator)

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

InsertBefore()

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

InsertBefore(String)

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

InsertBefore(XmlReader)

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

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)

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

MoveToFollowing(String, String)

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

MoveToFollowing(XPathNodeType, XPathNavigator)

XPathNavigator 文档顺序将指定的以下元素 XPathNodeType 移动到指定的边界。

MoveToFollowing(XPathNodeType)

XPathNavigator 文档顺序移动指定的以下元素 XPathNodeType

MoveToId(String)

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

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)

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

PrependChild(XPathNavigator)

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

PrependChildElement(String, String, String, String)

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

ReadSubtree()

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

ReplaceRange(XPathNavigator)

替换从当前节点到指定节点的同级节点范围。

ReplaceSelf(String)

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

ReplaceSelf(XmlReader)

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

ReplaceSelf(XPathNavigator)

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

Select(String, IXmlNamespaceResolver)

使用指定的 XPath 表达式选择一个节点集, IXmlNamespaceResolver 并指定用于解析命名空间前缀的对象。

Select(String)

使用指定的 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, IXmlNamespaceResolver)

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

SelectSingleNode(String)

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

SelectSingleNode(XPathExpression)

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

SetTypedValue(Object)

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

SetValue(String)

设置当前节点的值。

ToString()

获取当前节点的文本值。

ValueAs(Type, IXmlNamespaceResolver)

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

ValueAs(Type)

以指定类型的形式返回项的值。

(继承自 XPathItem)
WriteSubtree(XmlWriter)

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

显式接口实现

名称 说明
ICloneable.Clone()

创建对象 XPathNavigator 的新副本。

适用于

另请参阅