public abstract class XMLInputFactory extends Object
XMLOutputFactory , XMLEventReader , XMLStreamReader , EventFilter , XMLReporter , XMLResolver , XMLEventAllocator
| Modifier and Type | Field and Description |
|---|---|
static String |
ALLOCATOR
该属性用于设置/获取分配器的实现
|
static String |
IS_COALESCING
需要解析器来合并相邻字符数据部分的属性
|
static String |
IS_NAMESPACE_AWARE
该属性用于打开/关闭命名空间支持,这是为了支持XML 1.0文档,只有真正的设置必须被支持
|
static String |
IS_REPLACING_ENTITY_REFERENCES
需要解析器用其替换文本替换内部实体引用并将其报告为字符
|
static String |
IS_SUPPORTING_EXTERNAL_ENTITIES
需要解析器解析外部解析实体的属性
|
static String |
IS_VALIDATING
用于打开/关闭实现特定验证的属性
|
static String |
REPORTER
该属性用于设置/获取XMLReporter接口的实现
|
static String |
RESOLVER
该属性用于设置/获取XMLResolver的实现
|
static String |
SUPPORT_DTD
需要解析器支持DTD的属性
|
| Modifier | Constructor and Description |
|---|---|
protected |
XMLInputFactory() |
| Modifier and Type | Method and Description |
|---|---|
abstract XMLEventReader |
createFilteredReader(XMLEventReader reader, EventFilter filter)
创建一个过滤的事件读取器,将过滤器包裹在事件读取器周围
|
abstract XMLStreamReader |
createFilteredReader(XMLStreamReader reader, StreamFilter filter)
创建一个过滤的阅读器,将过滤器包裹在阅读器周围
|
abstract XMLEventReader |
createXMLEventReader(InputStream stream)
从java.io.InputStream创建一个新的XMLEventReader
|
abstract XMLEventReader |
createXMLEventReader(InputStream stream, String encoding)
从java.io.InputStream创建一个新的XMLEventReader
|
abstract XMLEventReader |
createXMLEventReader(Reader reader)
从阅读器创建一个新的XMLEventReader
|
abstract XMLEventReader |
createXMLEventReader(Source source)
从JAXP源创建一个新的XMLEventReader。
|
abstract XMLEventReader |
createXMLEventReader(String systemId, InputStream stream)
从java.io.InputStream创建一个新的XMLEventReader
|
abstract XMLEventReader |
createXMLEventReader(String systemId, Reader reader)
从阅读器创建一个新的XMLEventReader
|
abstract XMLEventReader |
createXMLEventReader(XMLStreamReader reader)
从XMLStreamReader创建一个新的XMLEventReader。
|
abstract XMLStreamReader |
createXMLStreamReader(InputStream stream)
从java.io.InputStream创建一个新的XMLStreamReader
|
abstract XMLStreamReader |
createXMLStreamReader(InputStream stream, String encoding)
从java.io.InputStream创建一个新的XMLStreamReader
|
abstract XMLStreamReader |
createXMLStreamReader(Reader reader)
从阅读器创建一个新的XMLStreamReader
|
abstract XMLStreamReader |
createXMLStreamReader(Source source)
从JAXP源创建一个新的XMLStreamReader。
|
abstract XMLStreamReader |
createXMLStreamReader(String systemId, InputStream stream)
从java.io.InputStream创建一个新的XMLStreamReader
|
abstract XMLStreamReader |
createXMLStreamReader(String systemId, Reader reader)
从java.io.InputStream创建一个新的XMLStreamReader
|
abstract XMLEventAllocator |
getEventAllocator()
获取由此工厂创建的流使用的分配器
|
abstract Object |
getProperty(String name)
从底层实现获取特征/属性的值
|
abstract XMLReporter |
getXMLReporter()
该记者会设置在由此工厂实例创建的任何XMLStreamReader或XMLEventReader上。
|
abstract XMLResolver |
getXMLResolver()
将在此工厂实例创建的任何XMLStreamReader或XMLEventReader上设置的解析器。
|
abstract boolean |
isPropertySupported(String name)
查询此工厂支持的属性集。
|
static XMLInputFactory |
newFactory()
创建一个新的工厂实例。
|
static XMLInputFactory |
newFactory(String factoryId, ClassLoader classLoader)
创建一个新的工厂实例。
|
static XMLInputFactory |
newInstance()
以与
newFactory()方法完全相同的方式创建工厂的新实例。
|
static XMLInputFactory |
newInstance(String factoryId, ClassLoader classLoader)
已弃用
该方法已被弃用,以保持API的一致性。
所有newInstance方法已被替换为相应的newFactory方法。
替换
newFactory(java.lang.String, java.lang.ClassLoader)方法定义行为没有变化。
|
abstract void |
setEventAllocator(XMLEventAllocator allocator)
为事件设置用户定义的事件分配器
|
abstract void |
setProperty(String name, Object value)
允许用户在底层实现上设置特定的功能/属性。
|
abstract void |
setXMLReporter(XMLReporter reporter)
该记者会设置在由此工厂实例创建的任何XMLStreamReader或XMLEventReader上。
|
abstract void |
setXMLResolver(XMLResolver resolver)
将在此工厂实例创建的任何XMLStreamReader或XMLEventReader上设置的解析器。
|
public static final String IS_NAMESPACE_AWARE
public static final String IS_VALIDATING
public static final String IS_COALESCING
public static final String IS_REPLACING_ENTITY_REFERENCES
public static final String IS_SUPPORTING_EXTERNAL_ENTITIES
public static final String SUPPORT_DTD
public static final String REPORTER
public static final String RESOLVER
public static final String ALLOCATOR
public static XMLInputFactory newInstance() throws FactoryConfigurationError
newFactory()方法完全相同的方式创建工厂的新实例。
FactoryConfigurationError - 如果此工厂的实例无法加载
public static XMLInputFactory newFactory() throws FactoryConfigurationError
这个静态方法创建一个新的工厂实例。 此方法使用以下有序查找过程来确定要加载的XMLInputFactory实现类:
ServiceLoader类定义的服务提供商加载工具,尝试使用default loading mechanism定位并加载服务的实现 :服务提供商加载工具将使用current thread's context class loader尝试加载服务。 如果上下文类加载器为null, 那么将使用system class loader 。 一旦应用程序获得了对XMLInputFactory的引用,它可以使用工厂来配置和获取流实例。
请注意,这是一种替代不推荐使用的newInstance()方法的新方法。 相对于不推荐使用的方法,此替换方法没有定义行为更改。
FactoryConfigurationError -在以下情况下service configuration error或者如果实现不可用或不能被实例化。
public static XMLInputFactory newInstance(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError
newFactory(java.lang.String, java.lang.ClassLoader)方法定义行为没有变化。
factoryId - 找到工厂的名称,与属性名称相同
classLoader - classLoader使用
FactoryConfigurationError - 如果此工厂的实例无法加载
public static XMLInputFactory newFactory(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError
此方法使用以下有序查找过程来确定要加载的XMLInputFactory实现类:
factoryId 。 factoryId 。 factoryId是“javax.xml.stream.XMLInputFactory”,请使用由ServiceLoader类定义的服务提供程序加载工具来尝试使用指定的ClassLoader查找和加载服务的ClassLoader 。 如果classLoader为空,则将适用default loading mechanism :即,服务提供者加载工具将使用current thread's context class loader尝试加载服务。 如果上下文类加载器为null, 那么将使用system class loader 。 FactoryConfigurationError 。 请注意,这是一种替代已弃用的newInstance(String factoryId, ClassLoader classLoader)方法的新方法。 相对于不推荐使用的方法,此替换方法没有定义行为更改。
factoryId - 要查找的工厂名称,与属性名称相同
classLoader - classLoader使用
FactoryConfigurationError -在以下情况下service configuration error或者如果实现不可用或不能被实例化。
FactoryConfigurationError - 如果此工厂的实例无法加载
public abstract XMLStreamReader createXMLStreamReader(Reader reader) throws XMLStreamException
reader - 要读取的XML数据
XMLStreamException
public abstract XMLStreamReader createXMLStreamReader(Source source) throws XMLStreamException
source - 要阅读的来源
UnsupportedOperationException - 如果此XMLInputFactory不支持此方法
XMLStreamException
public abstract XMLStreamReader createXMLStreamReader(InputStream stream) throws XMLStreamException
stream - 要读取的InputStream
XMLStreamException
public abstract XMLStreamReader createXMLStreamReader(InputStream stream, String encoding) throws XMLStreamException
stream - 要读取的InputStream
encoding - 流的字符编码
XMLStreamException
public abstract XMLStreamReader createXMLStreamReader(String systemId, InputStream stream) throws XMLStreamException
systemId - 流的系统ID
stream - 要读取的InputStream
XMLStreamException
public abstract XMLStreamReader createXMLStreamReader(String systemId, Reader reader) throws XMLStreamException
systemId - 流的系统ID
reader - 要读取的InputStream
XMLStreamException
public abstract XMLEventReader createXMLEventReader(Reader reader) throws XMLStreamException
reader - 要读取的XML数据
XMLStreamException
public abstract XMLEventReader createXMLEventReader(String systemId, Reader reader) throws XMLStreamException
systemId - 输入的系统ID
reader - 要读取的XML数据
XMLStreamException
public abstract XMLEventReader createXMLEventReader(XMLStreamReader reader) throws XMLStreamException
reader - 要读取的XMLStreamReader(可能不会被修改)
XMLStreamException
public abstract XMLEventReader createXMLEventReader(Source source) throws XMLStreamException
source - 要阅读的来源
UnsupportedOperationException - 如果此XMLInputFactory不支持此方法
XMLStreamException
public abstract XMLEventReader createXMLEventReader(InputStream stream) throws XMLStreamException
stream - 要读取的InputStream
XMLStreamException
public abstract XMLEventReader createXMLEventReader(InputStream stream, String encoding) throws XMLStreamException
stream - 要读取的InputStream
encoding - 流的字符编码
XMLStreamException
public abstract XMLEventReader createXMLEventReader(String systemId, InputStream stream) throws XMLStreamException
systemId - 流的系统ID
stream - 要从中读取的InputStream
XMLStreamException
public abstract XMLStreamReader createFilteredReader(XMLStreamReader reader, StreamFilter filter) throws XMLStreamException
reader - 读者过滤
filter - 适用于读者的过滤器
XMLStreamException
public abstract XMLEventReader createFilteredReader(XMLEventReader reader, EventFilter filter) throws XMLStreamException
reader - 事件读者包装
filter - 应用于事件读取器的过滤器
XMLStreamException
public abstract XMLResolver getXMLResolver()
public abstract void setXMLResolver(XMLResolver resolver)
resolver - 解析器用于解析引用
public abstract XMLReporter getXMLReporter()
public abstract void setXMLReporter(XMLReporter reporter)
reporter - 用于报告非致命错误的解析器
public abstract void setProperty(String name, Object value) throws IllegalArgumentException
实现JAXP 1.5或更高版本的所有实现都需要支持XMLConstants.ACCESS_EXTERNAL_DTD属性。
访问外部DTD,外部实体引用仅限于属性指定的协议。 如果访问被解析,由于该属性的限制时否认, XMLStreamException将被抛出XMLStreamReader.next()或XMLEventReader.nextEvent()方法。
name - 属性的名称(可能不为空)
value - 该属性的值
IllegalArgumentException - 如果不支持该属性
public abstract Object getProperty(String name) throws IllegalArgumentException
name - 属性的名称(可能不为空)
IllegalArgumentException - 如果不支持该属性
public abstract boolean isPropertySupported(String name)
name - 属性的名称(可能不为空)
public abstract void setEventAllocator(XMLEventAllocator allocator)
allocator - 用户定义的分配器
public abstract XMLEventAllocator getEventAllocator()
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.