Evaluate

IXPathEvaluator.Evaluate method

评估一个 XPath 表达式字符串,并在可能的情况下返回指定类型的结果。

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

返回值

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

例外

例外(健康)状况
DOMExceptionINVALID_EXPRESSION_ERR:如果表达式根据 的规则不合法,则引发IXPathEvaluator.
DOMExceptionTYPE_ERR:如果无法将结果转换为返回 指定的类型,则引发。
DOMExceptionNAMESPACE_ERR:如果表达式包含命名空间前缀 ,则引发指定的无法解析IXPathNSResolver.
DOMExceptionWRONG_DOCUMENT_ERR:节点来自一个不受此 支持的文档IXPathEvaluator.
DOMExceptionNOT_SUPPORTED_ERR:该节点不是 XPath 上下文 节点允许的类型,或者此请求类型不允许IXPathEvaluator.

也可以看看