Evaluate

IXPathEvaluator.Evaluate method

计算一个 XPath 表达式字符串,如果可能,返回指定类型的结果。

public IXPathResult Evaluate(string expression, Node contextNode, IXPathNSResolver resolver, 
    XPathResultType type, object result)
范围 类型 描述
expression String 要解析和评估的 XPath 表达式字符串。
contextNode Node context 是评估 this:::47::的上下文节点:XPath 表达式。如果IXPathEvaluator是通过转换 Document获得的那么这必须由同一个文档拥有并且必须是 Document,Element,Attr,Text, CDATASection,Comment,ProcessingInstruction, 或XPathNamespace节点。如果上下文节点是TextCDATASection,然后上下文被解释为整个逻辑文本节点 ,如 XPath 所见,除非该节点为空,在这种情况下它可能不能用作 XPath 上下文。
resolver IXPathNSResolver 解析器 允许翻译所有前缀,包括 xml 命名空间前缀,在 XPath 表达式中放入适当的命名空间 URI。 如果指定为 null ,则表达式中的任何命名空间前缀都将导致 inDOMException与代码 NAMESPACE_ERR 一起抛出。
type XPathResultType 如果指定了特定的 类型 ,则结果将返回为 对应的类型。对于 XPath 1.0 结果,这必须是 XPathResultType枚举的值之一。
result Object 结果 指定一个可以重用的特定结果对象 并由此方法返回。如果这被指定为 null 或实现不 重用指定的结果,将构造并返回一个新的结果对象。对于 XPath 1.0 结果,该对象的类型为IXPathResult

返回值

XPath 表达式的计算结果。对于 XPath 1.0 结果,此对象 将是IXPathResult类型。

例外

例外 (健康)状况
DOMException INVALID_EXPRESSION_ERR:如果表达式不合法,则根据 规则引发:IXPathEvaluator
DOMException TYPE_ERR:如果结果无法转换为返回 指定类型,则引发。
DOMException NAMESPACE_ERR:如果表达式包含命名空间前缀 则引发,该前缀无法由指定的IXPathNSResolver
DOMException WRONG_DOCUMENT_ERR:节点来自不支持 的文档IXPathEvaluator
DOMException NOT_SUPPORTED_ERR:节点不是允许作为 XPath 上下文 节点或请求的类型此IXPathEvaluator不允许使用类型。

也可以看看