public abstract class XPathFactory extends Object
一个XPathFactory实例可以用来创建XPath对象。
看到newInstance(String uri)查找机制。
XPathFactory类不是线程安全的。换句话说,它是应用程序的责任保证最多只有一个线程在任何时候使用XPathFactory对象。实施鼓励synchronized标记方法来保护自己从破碎的客户。
XPathFactory是不可重入。而其中的newInstance方法被调用时,应用程序可能不会尝试递归调用newInstance方法,即使在同一个线程。
| Modifier and Type | Field and Description |
|---|---|
static String |
DEFAULT_OBJECT_MODEL_URI
默认的对象模型的URI。
|
static String |
DEFAULT_PROPERTY_NAME
根据使用的默认属性名称规格
|
| Modifier | Constructor and Description |
|---|---|
protected |
XPathFactory()
受保护的构造函数为
newInstance()或
newInstance(String uri)或
newInstance(String uri, String factoryClassName, ClassLoader classLoader)应该被用来创建一个新实例
XPathFactory。
|
| Modifier and Type | Method and Description |
|---|---|
abstract boolean |
getFeature(String name)
获取已命名的功能的状态。
|
abstract boolean |
isObjectModelSupported(String objectModel)
指定对象模型的
XPathFactory支持?
|
static XPathFactory |
newInstance()
得到一个新的
XPathFactory实例使用默认的对象模型,
DEFAULT_OBJECT_MODEL_URI,W3C DOM。
|
static XPathFactory |
newInstance(String uri)
使用指定的对象模型,得到一个新的
XPathFactory实例。
|
static XPathFactory |
newInstance(String uri, String factoryClassName, ClassLoader classLoader)
获得从一个工厂类的新实例的名称
XPathFactory。
|
abstract XPath |
newXPath()
返回一个新的
XPath使用底层对象模型时确定的
XPathFactory被实例化。
|
abstract void |
setFeature(String name, boolean value)
设置这一
XPathFactory和
XPaths这个工厂创建的特征。
|
abstract void |
setXPathFunctionResolver(XPathFunctionResolver resolver)
建立一个默认的功能解析。
|
abstract void |
setXPathVariableResolver(XPathVariableResolver resolver)
建立一个默认的变量解析器。
|
public static final String DEFAULT_PROPERTY_NAME
根据使用的默认属性名称规格
public static final String DEFAULT_OBJECT_MODEL_URI
默认的对象模型的URI。
protected XPathFactory()
受保护的构造函数为newInstance()或newInstance(String uri)或newInstance(String uri, String factoryClassName, ClassLoader classLoader)应该被用来创建一个新实例XPathFactory。
public static XPathFactory newInstance()
得到一个新的XPathFactory实例使用默认的对象模型,DEFAULT_OBJECT_MODEL_URI,W3C DOM。
此方法在功能上相当于:
newInstance(default_object_model_uri)
由于W3C DOM的实现一直是可用的,这个方法永远不会失败。
XPathFactory实例。
RuntimeException -出现故障时在创建默认的对象模型
XPathFactory。
public static XPathFactory newInstance(String uri) throws XPathFactoryConfigurationException
使用指定的对象模型,得到一个新的XPathFactory实例。
找到一个XPathFactory对象,这种方法看起来以下依次为“类装载器”指的是上下文类加载器的地方:
DEFAULT_PROPERTY_NAME +“URI”是存在的,其中的URI是这个方法的参数,那么它的价值是理解为一个类的名字。该方法将尝试使用类装载器来创建这个类的一个新实例,并返回它如果它成功创建。ServiceLoader类定义,试图定位和加载使用default loading mechanism服务的实现:服务提供者装载设备将使用current thread's context class loader尝试加载服务。如果上下文类加载器是空的,将使用的system class loader。isObjectModelSupported(String objectModel)。发现支持指定的对象模型的第一个服务提供程序返回。在一个XPathFactoryConfigurationException ServiceConfigurationError将抛出的情况下XPathFactory位于平台的具体方式。必须有一个W3C DOM平台默认xpathfactory,即DEFAULT_OBJECT_MODEL_URI。如果一切都失败了,一个XPathFactoryConfigurationException将抛出。
解决问题的技巧:
看到Properties.load(java.io.InputStream)究竟属性文件解析。特别是,冒号“:”需要在属性文件中逃脱,所以确保URI正确了它。例如:
HTTP:/ / java。太阳。COM /使用/ XPath和DOM = org.acme.domxpathfactory
uri -识别潜在的对象模型。规范只定义了URI
DEFAULT_OBJECT_MODEL_URI,为W3C DOM
http://java.sun.com/jaxp/xpath/dom,的org.w3c.dom.Node包,并实现免费介绍其他URI的其他对象模型。
XPathFactory实例。
XPathFactoryConfigurationException -如果指定的对象模型不可用,或者如果有配置错误。
null
uri
NullPointerException。
IllegalArgumentException -如果
uri是
null或
uri.length() == 0。
public static XPathFactory newInstance(String uri, String factoryClassName, ClassLoader classLoader) throws XPathFactoryConfigurationException
获得从一个工厂类的新实例的名称XPathFactory。如果指定XPathFactory工厂类支持指定的对象模型返回。此功能是有用的当有多个供应商在类路径。它给应用程序提供了更多的控制,因为它可以指定要加载哪个提供程序。
设置jaxp.debug系统属性将导致这种方法印制大量的调试消息System.err关于它是什么做的,是在看。
如果你有问题的话:
java djaxp。调试= 1你的…
uri -识别潜在的对象模型。规范只定义了URI
DEFAULT_OBJECT_MODEL_URI,为W3C DOM
http://java.sun.com/jaxp/xpath/dom,的org.w3c.dom.Node包,并实现免费介绍其他URI的其他对象模型。
factoryClassName完全合格的工厂类的名称,提供了实现
javax.xml.xpath.XPathFactory。
classLoader用于负荷工厂类
ClassLoader。如果
null电流
Thread上下文类加载器来加载工厂类。
XPathFactory新实例
XPathFactoryConfigurationException -如果
factoryClassName是
null,或工厂类不能被加载,实例化或工厂类不支持的
uri参数指定的对象模型。
null
uri
NullPointerException。
IllegalArgumentException -如果
uri是
null或
uri.length() == 0。
newInstance(),
newInstance(String uri)
public abstract boolean isObjectModelSupported(String objectModel)
指定对象模型的XPathFactory支持?
objectModel -指定对象模型返回的
XPathFactory会理解的。
true如果
XPathFactory支持
objectModel,其他
false。
null
objectModel
NullPointerException。
objectModel.length() == 0
IllegalArgumentException。
public abstract void setFeature(String name, boolean value) throws XPathFactoryConfigurationException
设置这一XPathFactory和XPaths这个工厂创建的特征。
功能名称是完全合格的URIs实现可以定义自己的功能。如果这是一个XPathFactoryConfigurationException XPathFactory或创建不支持特征的XPaths扔。一个XPathFactory暴露特征值,但不能改变它的状态,它是可能的。
所有的实现都必须支持的XMLConstants.FEATURE_SECURE_PROCESSING特征。当特征是true,任何引用外部函数是一个错误。在这种情况下,必须执行,不叫XPathFunctionResolver必须抛出一个XPathFunctionException。
name特征名称。
value -特征状态
true或
false。
XPathFactoryConfigurationException -如果这
XPathFactory也创造不支持此功能的
XPaths。
null
name
NullPointerException。
public abstract boolean getFeature(String name) throws XPathFactoryConfigurationException
获取已命名的功能的状态。
功能名称是完全合格的URIs实现可以定义自己的功能。如果这是一个XPathFactoryConfigurationException XPathFactory或XPaths创建不支持特征扔。一个XPathFactory暴露特征值,但不能改变它的状态,它是可能的。
name特征名称。
XPathFactoryConfigurationException -如果这
XPathFactory或
XPaths它创造不支持此功能。
null
name
NullPointerException。
public abstract void setXPathVariableResolver(XPathVariableResolver resolver)
建立一个默认的变量解析器。
本厂建有XPath对象将使用默认指定的冲突解决程序。
一个NullPointerException抛出如果resolver是null。
resolver变量解析器。
null
resolver
NullPointerException。
public abstract void setXPathFunctionResolver(XPathFunctionResolver resolver)
建立一个默认的功能解析。
本厂建有XPath对象将使用默认指定的冲突解决程序。
如果一个NullPointerException resolver是null扔。
resolver - XPath函数旋转变压器。
null
resolver
NullPointerException。
public abstract XPath newXPath()
返回一个新的XPath使用底层对象模型时确定的XPathFactory被实例化。
XPath新实例。
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.