514 lines
31 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<div class="header">
<div class="subTitle">
compact2, compact3
</div>
<div class="subTitle">
javax.xml.xpath
</div>
<h2 class="title" title="Interface XPath">Interface XPath</h2>
</div><div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr/> <br/> <pre>public interface <span class="typeNameLabel">XPath</span></pre>
<div class="block">
<p> <span><code>XPath</code>提供对XPath评估环境和表达式的访问。</span> </p>
<span><a name="XPath-evaluation"></a></span>
<span> Evaluation of XPath Expressions. context If a request is made to evaluate the expression in the absence of a context item, an empty document node will be used for the context. For the purposes of evaluating XPath expressions, a DocumentFragment is treated like a Document node. variables If the expression contains a variable reference, its value will be found through the <a href="../../../javax/xml/xpath/XPathVariableResolver.html" title="interface in javax.xml.xpath"><code>XPathVariableResolver</code></a> set with <a href="../../../javax/xml/xpath/XPath.html#setXPathVariableResolver-javax.xml.xpath.XPathVariableResolver-"><code>setXPathVariableResolver(XPathVariableResolver resolver)</code></a>. An <a href="../../../javax/xml/xpath/XPathExpressionException.html" title="class in javax.xml.xpath"><code>XPathExpressionException</code></a> is raised if the variable resolver is undefined or the resolver returns <code>null</code> for the variable. The value of a variable must be immutable through the course of any single evaluation.<p></p> functions If the expression contains a function reference, the function will be found through the <a href="../../../javax/xml/xpath/XPathFunctionResolver.html" title="interface in javax.xml.xpath"><code>XPathFunctionResolver</code></a> set with <a href="../../../javax/xml/xpath/XPath.html#setXPathFunctionResolver-javax.xml.xpath.XPathFunctionResolver-"><code>setXPathFunctionResolver(XPathFunctionResolver resolver)</code></a>. An <a href="../../../javax/xml/xpath/XPathExpressionException.html" title="class in javax.xml.xpath"><code>XPathExpressionException</code></a> is raised if the function resolver is undefined or the function resolver returns <code>null</code> for the function.<p></p> QNames QNames in the expression are resolved against the XPath namespace context set with <a href="../../../javax/xml/xpath/XPath.html#setNamespaceContext-javax.xml.namespace.NamespaceContext-"><code>setNamespaceContext(NamespaceContext nsContext)</code></a>. result This result of evaluating an expression is converted to an instance of the desired return type. Valid return types are defined in <a href="../../../javax/xml/xpath/XPathConstants.html" title="class in javax.xml.xpath"><code>XPathConstants</code></a>. Conversion to the return type follows XPath conversion rules.<p></p> </span>
<table border="1" cellpadding="2">
</table>
<p> <span>XPath对象不是线程安全的不可重入。</span> <span>换句话说,应用程序的责任是确保在任何给定的时间从一个以上的线程中不使用一个<a href="../../../javax/xml/xpath/XPath.html" title="javax.xml.xpath中的接口"><code>XPath</code></a>对象,并且当调用<code>evaluate</code>方法时,应用程序可能不会递归调用<code>evaluate</code>方法。</span> </p>
<p></p>
</div>
<dl>
<dt>
<span class="simpleTagLabel">从以下版本开始:</span>
</dt>
<dd>
1.5
</dd>
<dt>
<span class="seeLabel">另请参见:</span>
</dt>
<dd>
<a href="http://www.w3.org/TR/xpath">XML Path Language (XPath) Version 1.0</a>
</dd>
</dl> </li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<ul class="blockList">
<li class="blockList"><a name="method.summary">
<!-- --> </a> <h3>方法摘要</h3>
<table border="0" cellpadding="3" cellspacing="0" class="memberSummary" summary="Method Summary table, listing methods, and an explanation">
<caption>
<span class="activeTableTab" id="t0"><span>所有方法</span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t2"><span><a href="javascript:show(2);">接口方法</a></span><span class="tabEnd"> </span></span>
<span class="tableTab" id="t3"><span><a href="javascript:show(4);">抽象方法</a></span><span class="tabEnd"> </span></span>
</caption>
<tbody>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Method and Description</th>
</tr>
<tr class="altColor" id="i0">
<td class="colFirst"><code><a href="../../../javax/xml/xpath/XPathExpression.html" title="interface in javax.xml.xpath">XPathExpression</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPath.html#compile-java.lang.String-">compile</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> expression)</code>
<div class="block">
编译XPath表达式供以后评估。
</div> </td>
</tr>
<tr class="rowColor" id="i1">
<td class="colFirst"><code><a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPath.html#evaluate-java.lang.String-org.xml.sax.InputSource-">evaluate</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> expression, <a href="../../../org/xml/sax/InputSource.html" title="class in org.xml.sax">InputSource</a> source)</code>
<div class="block">
计算指定的上下文中的XPath表达式
<code>InputSource</code>并返回结果作为
<code>String</code>
</div> </td>
</tr>
<tr class="altColor" id="i2">
<td class="colFirst"><code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPath.html#evaluate-java.lang.String-org.xml.sax.InputSource-javax.xml.namespace.QName-">evaluate</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> expression, <a href="../../../org/xml/sax/InputSource.html" title="class in org.xml.sax">InputSource</a> source, <a href="../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</a> returnType)</code>
<div class="block">
计算指定的上下文中的XPath表达式
<code>InputSource</code>并返回其结果作为指定的类型。
</div> </td>
</tr>
<tr class="rowColor" id="i3">
<td class="colFirst"><code><a href="../../../java/lang/String.html" title="class in java.lang">String</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPath.html#evaluate-java.lang.String-java.lang.Object-">evaluate</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> expression, <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> item)</code>
<div class="block">
评估指定上下文中的XPath表达式并将结果作为
<code>String</code>
</div> </td>
</tr>
<tr class="altColor" id="i4">
<td class="colFirst"><code><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPath.html#evaluate-java.lang.String-java.lang.Object-javax.xml.namespace.QName-">evaluate</a></span>(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> expression, <a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> item, <a href="../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</a> returnType)</code>
<div class="block">
在指定的上下文中评估一个
<code>XPath</code>表达式,并将结果作为指定的类型返回。
</div> </td>
</tr>
<tr class="rowColor" id="i5">
<td class="colFirst"><code><a href="../../../javax/xml/namespace/NamespaceContext.html" title="interface in javax.xml.namespace">NamespaceContext</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPath.html#getNamespaceContext--">getNamespaceContext</a></span>()</code>
<div class="block">
返回当前命名空间上下文。
</div> </td>
</tr>
<tr class="altColor" id="i6">
<td class="colFirst"><code><a href="../../../javax/xml/xpath/XPathFunctionResolver.html" title="interface in javax.xml.xpath">XPathFunctionResolver</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPath.html#getXPathFunctionResolver--">getXPathFunctionResolver</a></span>()</code>
<div class="block">
返回当前函数解析器。
</div> </td>
</tr>
<tr class="rowColor" id="i7">
<td class="colFirst"><code><a href="../../../javax/xml/xpath/XPathVariableResolver.html" title="interface in javax.xml.xpath">XPathVariableResolver</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPath.html#getXPathVariableResolver--">getXPathVariableResolver</a></span>()</code>
<div class="block">
返回当前变量解析器。
</div> </td>
</tr>
<tr class="altColor" id="i8">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPath.html#reset--">reset</a></span>()</code>
<div class="block">
将此
<code>XPath</code>重置为原始配置。
</div> </td>
</tr>
<tr class="rowColor" id="i9">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPath.html#setNamespaceContext-javax.xml.namespace.NamespaceContext-">setNamespaceContext</a></span>(<a href="../../../javax/xml/namespace/NamespaceContext.html" title="interface in javax.xml.namespace">NamespaceContext</a> nsContext)</code>
<div class="block">
建立命名空间上下文。
</div> </td>
</tr>
<tr class="altColor" id="i10">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPath.html#setXPathFunctionResolver-javax.xml.xpath.XPathFunctionResolver-">setXPathFunctionResolver</a></span>(<a href="../../../javax/xml/xpath/XPathFunctionResolver.html" title="interface in javax.xml.xpath">XPathFunctionResolver</a> resolver)</code>
<div class="block">
建立一个函数解析器。
</div> </td>
</tr>
<tr class="rowColor" id="i11">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../javax/xml/xpath/XPath.html#setXPathVariableResolver-javax.xml.xpath.XPathVariableResolver-">setXPathVariableResolver</a></span>(<a href="../../../javax/xml/xpath/XPathVariableResolver.html" title="interface in javax.xml.xpath">XPathVariableResolver</a> resolver)</code>
<div class="block">
建立变量解析器。
</div> </td>
</tr>
</tbody>
</table> </li>
</ul> </li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<ul class="blockList">
<li class="blockList"><a name="method.detail">
<!-- --> </a> <h3>方法详细信息</h3> <a name="reset--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>reset</h4> <pre>void reset()</pre>
<div class="block">
<p> <span>将此<code>XPath</code>重置为原始配置。</span> </p>
<p> <span><code>XPath</code>被重置为与使用<a href="../../../javax/xml/xpath/XPathFactory.html#newXPath--"><code>XPathFactory.newXPath()</code></a>创建时相同的状态。</span> <span><code>reset()</code>旨在允许现有的<code>XPath</code> s的重用从而节省与创建新的<code>XPath</code>的相关资源。</span> </p>
<p> <span>复位<code>XPath</code>不保证具有相同<a href="../../../javax/xml/xpath/XPathFunctionResolver.html" title="javax.xml.xpath中的接口"><code>XPathFunctionResolver</code></a> <a href="../../../javax/xml/xpath/XPathVariableResolver.html" title="javax.xml.xpath中的接口"><code>XPathVariableResolver</code></a><a href="../../../javax/xml/namespace/NamespaceContext.html" title="javax.xml.namespace中的接口"><code>NamespaceContext</code></a> <code>Object</code> S<a href="../../../java/lang/Object.html#equals-java.lang.Object-"><code>Object.equals(Object obj)</code></a></span> <span>但保证具有功能相等<code>XPathFunctionResolver</code> <code>XPathVariableResolver</code><code>NamespaceContext</code></span> </p>
</div> </li>
</ul> <a name="setXPathVariableResolver-javax.xml.xpath.XPathVariableResolver-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setXPathVariableResolver</h4> <pre>void setXPathVariableResolver(<a href="../../../javax/xml/xpath/XPathVariableResolver.html" title="interface in javax.xml.xpath">XPathVariableResolver</a> resolver)</pre>
<div class="block">
<p> <span>建立变量解析器。</span> </p>
<p> <span>一个<code>NullPointerException</code>如果抛出<code>resolver</code><code>null</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>resolver</code> - 可变解算器。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>resolver</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="getXPathVariableResolver--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getXPathVariableResolver</h4> <pre><a href="../../../javax/xml/xpath/XPathVariableResolver.html" title="interface in javax.xml.xpath">XPathVariableResolver</a> getXPathVariableResolver()</pre>
<div class="block">
<p> <span>返回当前变量解析器。</span> </p>
<p> <span><code>null</code>在无变量解析器中返回有效。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
当前变量解算器。
</dd>
</dl> </li>
</ul> <a name="setXPathFunctionResolver-javax.xml.xpath.XPathFunctionResolver-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setXPathFunctionResolver</h4> <pre>void setXPathFunctionResolver(<a href="../../../javax/xml/xpath/XPathFunctionResolver.html" title="interface in javax.xml.xpath">XPathFunctionResolver</a> resolver)</pre>
<div class="block">
<p> <span>建立一个函数解析器。</span> </p>
<p> <span>一个<code>NullPointerException</code>如果抛出<code>resolver</code><code>null</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>resolver</code> - XPath函数解析器。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>resolver</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="getXPathFunctionResolver--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getXPathFunctionResolver</h4> <pre><a href="../../../javax/xml/xpath/XPathFunctionResolver.html" title="interface in javax.xml.xpath">XPathFunctionResolver</a> getXPathFunctionResolver()</pre>
<div class="block">
<p> <span>返回当前函数解析器。</span> </p>
<p> <span><code>null</code>返回没有功能解析器是有效的。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
当前功能解析器。
</dd>
</dl> </li>
</ul> <a name="setNamespaceContext-javax.xml.namespace.NamespaceContext-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>setNamespaceContext</h4> <pre>void setNamespaceContext(<a href="../../../javax/xml/namespace/NamespaceContext.html" title="interface in javax.xml.namespace">NamespaceContext</a> nsContext)</pre>
<div class="block">
<p> <span>建立命名空间上下文。</span> </p>
<p> <span>一个<code>NullPointerException</code>如果抛出<code>nsContext</code><code>null</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>nsContext</code> - 要使用的命名空间上下文。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>nsContext</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="getNamespaceContext--">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>getNamespaceContext</h4> <pre><a href="../../../javax/xml/namespace/NamespaceContext.html" title="interface in javax.xml.namespace">NamespaceContext</a> getNamespaceContext()</pre>
<div class="block">
<p> <span>返回当前命名空间上下文。</span> </p>
<p> <span><code>null</code>返回的没有命名空间上下文是有效的。</span> </p>
</div>
<dl>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
当前命名空间上下文。
</dd>
</dl> </li>
</ul> <a name="compile-java.lang.String-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>compile</h4> <pre><a href="../../../javax/xml/xpath/XPathExpression.html" title="interface in javax.xml.xpath">XPathExpression</a> compile(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> expression)
throws <a href="../../../javax/xml/xpath/XPathExpressionException.html" title="class in javax.xml.xpath">XPathExpressionException</a></pre>
<div class="block">
<p> <span>编译XPath表达式供以后评估。</span> </p>
<p> <span>如果<code>expression</code>包含任何<a href="../../../javax/xml/xpath/XPathFunction.html" title="javax.xml.xpath中的接口"><code>XPathFunction</code></a> s则必须通过<a href="../../../javax/xml/xpath/XPathFunctionResolver.html" title="javax.xml.xpath中的接口"><code>XPathFunctionResolver</code>可用</a></span> <span><a href="../../../javax/xml/xpath/XPathExpressionException.html" title="javax.xml.xpath中的类"><code>XPathExpressionException</code></a>将被抛出,如果<code>XPathFunction</code>不能用<code>XPathFunctionResolver</code><code>XPathFunctionResolver</code></span> </p>
<p> <span>如果<code>expression</code>包含任何变量,则<strong>在编译时</strong>使用的<a href="../../../javax/xml/xpath/XPathVariableResolver.html" title="javax.xml.xpath中的接口"><code>XPathVariableResolver</code></a>将用于解析它们。</span> </p>
<p> <span>如果<code>expression</code><code>null</code> ,则会抛出一个<code>NullPointerException</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>expression</code> - XPath表达式。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
编译XPath表达式。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/xml/xpath/XPathExpressionException.html" title="class in javax.xml.xpath">XPathExpressionException</a></code> - 如果
<code>expression</code>无法编译。
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>expression</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="evaluate-java.lang.String-java.lang.Object-javax.xml.namespace.QName-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>evaluate</h4> <pre><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> evaluate(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> expression,
<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> item,
<a href="../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</a> returnType)
throws <a href="../../../javax/xml/xpath/XPathExpressionException.html" title="class in javax.xml.xpath">XPathExpressionException</a></pre>
<div class="block">
<p> <span>评估一个<code>XPath</code>中指定的上下文表达式并返回结果作为指定的类型。</span> </p>
<p> <span>参见<a href="#XPath-evaluation">Evaluation of XPath Expressions</a>的上下文项目评估,变量,函数和<code>QName</code>分辨率和返回类型转换。</span> </p>
<p> <span>如果<code>returnType</code>不在定义的类型的一个<a href="../../../javax/xml/xpath/XPathConstants.html" title="javax.xml.xpath中的类"><code>XPathConstants</code></a> <a href="../../../javax/xml/xpath/XPathConstants.html#NUMBER"><code>NUMBER</code></a> <a href="../../../javax/xml/xpath/XPathConstants.html#STRING"><code>STRING</code></a> <a href="../../../javax/xml/xpath/XPathConstants.html#BOOLEAN"><code>BOOLEAN</code></a> <a href="../../../javax/xml/xpath/XPathConstants.html#NODE"><code>NODE</code></a><a href="../../../javax/xml/xpath/XPathConstants.html#NODESET"><code>NODESET</code></a> ),那么一个<code>IllegalArgumentException</code>被抛出。</span> </p>
<p> <span>如果<code>null</code>被提供用于值<code>item</code> ,一个空文档将被用于的上下文。</span> <span>如果<code>expression</code><code>returnType</code><code>null</code> ,则抛出一个<code>NullPointerException</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>expression</code> - XPath表达式。
</dd>
<dd>
<code>item</code> - 起始上下文(例如一个节点)。
</dd>
<dd>
<code>returnType</code> - 所需的返回类型。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
将XPath表达式评估为
<code>Object</code>
<code>returnType</code>
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/xml/xpath/XPathExpressionException.html" title="class in javax.xml.xpath">XPathExpressionException</a></code> -如果
<code>expression</code>无法评估。
</dd>
<dd>
<span><code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果<code>returnType</code>不是<code>returnType</code>中定义的类型<a href="../../../javax/xml/xpath/XPathConstants.html" title="javax.xml.xpath中的类">之一</a></span>
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>expression</code>
<code>returnType</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="evaluate-java.lang.String-java.lang.Object-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>evaluate</h4> <pre><a href="../../../java/lang/String.html" title="class in java.lang">String</a> evaluate(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> expression,
<a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> item)
throws <a href="../../../javax/xml/xpath/XPathExpressionException.html" title="class in javax.xml.xpath">XPathExpressionException</a></pre>
<div class="block">
<p> <span>评估指定上下文中的XPath表达式并将结果作为<code>String</code></span> </p>
<p> <span>此方法调用<a href="../../../javax/xml/xpath/XPath.html#evaluate-java.lang.String-java.lang.Object-javax.xml.namespace.QName-"><code>evaluate(String expression, Object item, QName returnType)</code></a><code>returnType</code><a href="../../../javax/xml/xpath/XPathConstants.html#STRING"><code>XPathConstants.STRING</code></a></span> </p>
<p> <span><a href="#XPath-evaluation">Evaluation of XPath Expressions</a>上下文项计算变量函数和QName解析以及返回类型转换。</span> </p>
<p> <span>如果<code>null</code>被提供用于值<code>item</code> ,一个空文档将被用于的上下文。</span> <span>如果<code>expression</code><code>null</code> ,那么会抛出一个<code>NullPointerException</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>expression</code> - XPath表达式。
</dd>
<dd>
<code>item</code> - 起始上下文(例如一个节点)。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>String</code>是评估表达式并将结果转换为
<code>String</code>的结果。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/xml/xpath/XPathExpressionException.html" title="class in javax.xml.xpath">XPathExpressionException</a></code> - 如果
<code>expression</code>无法评估。
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>expression</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="evaluate-java.lang.String-org.xml.sax.InputSource-javax.xml.namespace.QName-">
<!-- --> </a>
<ul class="blockList">
<li class="blockList"> <h4>evaluate</h4> <pre><a href="../../../java/lang/Object.html" title="class in java.lang">Object</a> evaluate(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> expression,
<a href="../../../org/xml/sax/InputSource.html" title="class in org.xml.sax">InputSource</a> source,
<a href="../../../javax/xml/namespace/QName.html" title="class in javax.xml.namespace">QName</a> returnType)
throws <a href="../../../javax/xml/xpath/XPathExpressionException.html" title="class in javax.xml.xpath">XPathExpressionException</a></pre>
<div class="block">
<p> <span>计算指定的上下文中的XPath表达式<code>InputSource</code>并返回其结果作为指定的类型。</span> </p>
<p> <span>此方法为<a href="../../../org/xml/sax/InputSource.html" title="在org.xml.sax中的类"><code>InputSource</code></a>构建数据模型,并在结果文档对象上调用<a href="../../../javax/xml/xpath/XPath.html#evaluate-java.lang.String-java.lang.Object-javax.xml.namespace.QName-"><code>evaluate(String expression, Object item, QName returnType)</code></a></span> </p>
<p> <span><a href="#XPath-evaluation">Evaluation of XPath Expressions</a>上下文项计算变量函数和QName解析以及返回类型转换。</span> </p>
<p> <span>如果<code>returnType</code>不是<code>returnType</code>中定义的类型<a href="../../../javax/xml/xpath/XPathConstants.html" title="javax.xml.xpath中的类">之一</a> ,则抛出一个<code>IllegalArgumentException</code></span> </p>
<p> <span>如果<code>expression</code> <code>source</code><code>returnType</code><code>null</code> ,然后<code>NullPointerException</code>异常。</span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>expression</code> - XPath表达式。
</dd>
<dd>
<code>source</code> - 要评估的文档的输入源。
</dd>
<dd>
<code>returnType</code> - 所需的返回类型。
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>Object</code>表达式的结果的Object。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/xml/xpath/XPathExpressionException.html" title="class in javax.xml.xpath">XPathExpressionException</a></code> - 如果无法评估表达式。
</dd>
<dd>
<span><code><a href="../../../java/lang/IllegalArgumentException.html" title="class in java.lang">IllegalArgumentException</a></code> - 如果<code>returnType</code>不是<code>returnType</code>中定义的类型<a href="../../../javax/xml/xpath/XPathConstants.html" title="javax.xml.xpath中的类">之一</a></span>
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> -如果
<code>expression</code>
<code>source</code>
<code>returnType</code>
<code>null</code>
</dd>
</dl> </li>
</ul> <a name="evaluate-java.lang.String-org.xml.sax.InputSource-">
<!-- --> </a>
<ul class="blockListLast">
<li class="blockList"> <h4>evaluate</h4> <pre><a href="../../../java/lang/String.html" title="class in java.lang">String</a> evaluate(<a href="../../../java/lang/String.html" title="class in java.lang">String</a> expression,
<a href="../../../org/xml/sax/InputSource.html" title="class in org.xml.sax">InputSource</a> source)
throws <a href="../../../javax/xml/xpath/XPathExpressionException.html" title="class in javax.xml.xpath">XPathExpressionException</a></pre>
<div class="block">
<p> <span>计算指定的上下文中的XPath表达式<code>InputSource</code>并返回结果作为<code>String</code></span> </p>
<p> <span>此方法调用<a href="../../../javax/xml/xpath/XPath.html#evaluate-java.lang.String-org.xml.sax.InputSource-javax.xml.namespace.QName-"><code>evaluate(String expression, InputSource source, QName returnType)</code></a><code>returnType</code><a href="../../../javax/xml/xpath/XPathConstants.html#STRING"><code>XPathConstants.STRING</code></a></span> </p>
<p> <span><a href="#XPath-evaluation">Evaluation of XPath Expressions</a>上下文项计算变量函数和QName解析以及返回类型转换。</span> </p>
<p> <span>如果<code>expression</code><code>source</code><code>null</code> ,则抛出<code>NullPointerException</code></span> </p>
</div>
<dl>
<dt>
<span class="paramLabel">参数</span>
</dt>
<dd>
<code>expression</code> - XPath表达式。
</dd>
<dd>
<code>source</code> - 评估文件的
<code>InputSource</code>
</dd>
<dt>
<span class="returnLabel">结果</span>
</dt>
<dd>
<code>String</code>是评估表达式并将结果转换为
<code>String</code>的结果。
</dd>
<dt>
<span class="throwsLabel">异常</span>
</dt>
<dd>
<code><a href="../../../javax/xml/xpath/XPathExpressionException.html" title="class in javax.xml.xpath">XPathExpressionException</a></code> - 如果表达式无法评估。
</dd>
<dd>
<code><a href="../../../java/lang/NullPointerException.html" title="class in java.lang">NullPointerException</a></code> - 如果
<code>expression</code>
<code>source</code>
<code>null</code>
</dd>
</dl> </li>
</ul> </li>
</ul> </li>
</ul>
</div>
</div>