|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
public interface XPath
XPath 提供了對 XPath 計算環境和表達式的存取。
| XPath 表達式的計算。 | |
|---|---|
| 上下文 | 如果在沒有上下文項的情況下請求計算表達式,則將使用一個空文檔節點作為上下文。為計算 XPath 表達式,應將 DocumentFragment 視為 Document 節點。 |
| 變數 |
如果表達式包含變數參考,則其值將通過 XPathVariableResolver 找到,其中 XPathVariableResolver 是通過 setXPathVariableResolver(XPathVariableResolver resolver) 設置的。如果變數解析器未定義或解析器對變數返回 null,則引發 XPathExpressionException。在任何單個計算過程中,變數的值必須是不可變的。
|
| 函數 |
如果表達式包含函數參考,則函數將通過 XPathFunctionResolver 找到,其中 XPathFunctionResolver 是通過 setXPathFunctionResolver(XPathFunctionResolver resolver) 設置的。如果函數解析器未定義或解析器為函數返回 null,則引發 XPathExpressionException。
|
| QNames |
表達式中的 QNames 根據通過 setNamespaceContext(NamespaceContext nsContext) 設置的 XPath 名稱空間上下文來解析。
|
| 結果 |
將計算表達式的結果轉換為所需的返回型別的實例。XPathConstants 中定義了有效的返回型別。到返回型別的轉換遵守 XPath 轉換規則。
|
XPath 物件不是執行緒安全的,也不能重入。換句話說,應用程序負責確保在任意給定時刻不能有多個執行緒使用一個 XPath 物件,且當調用 evaluate 方法時,應用程序不能以遞歸方式調用 evaluate 方法。
| 方法摘要 | |
|---|---|
XPathExpression |
compile(String expression)
編譯 XPath 表達式供以後計算使用。 |
String |
evaluate(String expression,
InputSource source)
計算指定 InputSource 上下文中的 XPath 表達式並返回 String 形式的結果。 |
Object |
evaluate(String expression,
InputSource source,
QName returnType)
計算指定 InputSource 上下文中的 XPath 表達式並返回指定型別的結果。 |
String |
evaluate(String expression,
Object item)
計算指定上下文中的 XPath 表達式並返回 String 形式的結果。 |
Object |
evaluate(String expression,
Object item,
QName returnType)
計算指定上下文中的 XPath 表達式並返回指定型別的結果。 |
NamespaceContext |
getNamespaceContext()
返回當前的名稱空間上下文。 |
XPathFunctionResolver |
getXPathFunctionResolver()
返回當前的函數解析器。 |
XPathVariableResolver |
getXPathVariableResolver()
返回當前的變數解析器。 |
void |
reset()
將此 XPath 重置為其初始配置。 |
void |
setNamespaceContext(NamespaceContext nsContext)
建立名稱空間上下文。 |
void |
setXPathFunctionResolver(XPathFunctionResolver resolver)
建立函數解析器。 |
void |
setXPathVariableResolver(XPathVariableResolver resolver)
建立變數解析器。 |
| 方法詳細資訊 |
|---|
void reset()
將此 XPath 重置為其初始配置。
XPath 被重置為通過 XPathFactory.newXPath() 創建它時的狀態。設計 reset() 旨在允許重用現有的 XPath,從而節省與創建新 XPath 相關的資源。
不保證重置的 XPath 具有相同的 XPathFunctionResolver、XPathVariableResolver 或 NamespaceContext Object,例如 Object.equals(Object obj)。但保證具有功能相同的 XPathFunctionResolver、XPathVariableResolver 和 NamespaceContext。
void setXPathVariableResolver(XPathVariableResolver resolver)
建立變數解析器。
如果 resolver 為 null,則拋出 NullPointerException。
resolver - 變數解析器。
NullPointerException - 如果 resolver 為 null。XPathVariableResolver getXPathVariableResolver()
返回當前的變數解析器。
如果不存在有效的變數解析器,則返回 null。
void setXPathFunctionResolver(XPathFunctionResolver resolver)
建立函數解析器。
如果 resolver 為 null,則拋出 NullPointerException。
resolver - XPath 函數解析器。
NullPointerException - 如果 resolver 為 null。XPathFunctionResolver getXPathFunctionResolver()
返回當前的函數解析器。
如果不存在有效的變數解析器,則返回 null。
void setNamespaceContext(NamespaceContext nsContext)
建立名稱空間上下文。
如果 nsContext 為 null,則拋出 NullPointerException。
nsContext - 要使用的名稱空間上下文。
NullPointerException - 如果 nsContext 為 null。NamespaceContext getNamespaceContext()
返回當前的名稱空間上下文。
如果不存在有效的名稱空間上下文,則返回 null。
XPathExpression compile(String expression)
throws XPathExpressionException
編譯 XPath 表達式供以後計算使用。
如果 expression 套件含任何 XPathFunction,則它們必須可以通過 XPathFunctionResolver 獲取。如果不能通過 XPathFunctionResolver 解析 XPathFunction,則將拋出 XPathExpressionException。
如果 expression 套件含任何變數,則將使用在編譯時有效的 XPathVariableResolver 來解析這些變數。
如果 expression 為 null,則拋出 NullPointerException。
expression - XPath 表達式。
XPathExpressionException - 如果不能編譯 expression。
NullPointerException - 如果 expression 為 null。
Object evaluate(String expression,
Object item,
QName returnType)
throws XPathExpressionException
計算指定上下文中的 XPath 表達式並返回指定型別的結果。
有關上下文項計算、變數、函數和 QName 解析,以及返回型別轉換,請參閱 Evaluation of XPath Expressions。
如果 returnType 不是 XPathConstants (NUMBER、STRING、BOOLEAN、NODE 或 NODESET) 中定義的某種型別,則拋出 IllegalArgumentException。
如果 item 為 null 值,則將使用一個空文檔作為上下文。如果 expression 或 returnType 為 null,則拋出 NullPointerException。
expression - XPath 表達式。item - 開始上下文(例如節點)。returnType - 所需的返回型別。
returnType 的 Object 形式返回 XPath 表達式的計算結果。
XPathExpressionException - 如果不能計算 expression。
IllegalArgumentException - 如果 returnType 不是 XPathConstants 中定義的型別之一。
NullPointerException - 如果 expression 或 returnType 為 null。
String evaluate(String expression,
Object item)
throws XPathExpressionException
計算指定上下文中的 XPath 表達式並返回 String 形式的結果。
此方法通過 XPathConstants.STRING 的 returnType 調用 evaluate(String expression, Object item, QName returnType)。
有關上下文項計算、變數、函數和 QName 解析,以及返回型別轉換,請參閱 Evaluation of XPath Expressions。
如果為 item 為 null 值,則將使用一個空文檔作為上下文。如果 expression 為 null,則拋出 NullPointerException。
expression - XPath 表達式。item - 開始上下文(例如節點)。
String 所得到的結果 String。
XPathExpressionException - 如果不能計算 expression。
NullPointerException - 如果 expression 為 null。
Object evaluate(String expression,
InputSource source,
QName returnType)
throws XPathExpressionException
計算指定 InputSource 上下文中的 XPath 表達式並返回指定型別的結果。
此方法建構 InputSource 的資料模型並調用得到的文檔物件上的 evaluate(String expression, Object item, QName returnType)。
有關上下文項計算、變數、函數和 QName 解析,以及返回型別轉換,請參閱 Evaluation of XPath Expressions。
如果 returnType 不是 XPathConstants 中定義的型別之一,則拋出 IllegalArgumentException。
如果 expression、source 或 returnType 為 null,則拋出 NullPointerException。
expression - XPath 表達式。source - 要對其計算的文檔的輸入源。returnType - 所需的返回型別。
Object。
XPathExpressionException - 如果不能計算表達式。
IllegalArgumentException - 如果 returnType 不是 XPathConstants 中定義的型別之一。
NullPointerException - 如果 expression、source 或 returnType 為 null。
String evaluate(String expression,
InputSource source)
throws XPathExpressionException
計算指定 InputSource 上下文中的 XPath 表達式並返回 String 形式的結果。
此方法通過 XPathConstants.STRING 的 returnType 調用 evaluate(String expression, InputSource source, QName returnType)。
有關上下文項計算、變數、函數和 QName 解析,以及返回型別轉換,請參閱 Evaluation of XPath Expressions。
如果 expression 或 source 為 null,則拋出 NullPointerException。
expression - XPath 表達式。source - 要對其計算的文檔的 InputSource。
String 所得到的結果 String。
XPathExpressionException - 如果不能計算表達式。
NullPointerException - 如果 expression 或 source 為 null。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。