IXPathEvaluator.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被代码抛出命名空间_错误.
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.

也可以看看