java.lang.Object javax.xml.stream.XMLInputFactory
public abstract class XMLInputFactory
定义用于获取流的工厂的抽象实现。下表定义此规范的标准属性。每个属性随每个实现所要求的支持级别的不同而不同。所要求的支持级别在“必需”栏中做了描述。
配置参数 | ||||
---|---|---|---|---|
属性名 | 行为 | 返回类型 | 默认值 | 必需 |
javax.xml.stream.isValidating | 开启/关闭特定于实现的 DTD 验证 | Boolean | False | 否 |
javax.xml.stream.isNamespaceAware | 开启/关闭用于支持 XML 1.0 的名称空间处理 | Boolean | True | True(必需)/ False (可选) |
javax.xml.stream.isCoalescing | 要求处理器组合相临的字符数据 | Boolean | False | 是 |
javax.xml.stream.isReplacingEntityReferences | 用它们的替换文本替换内部实体引用并将它们作为字符报告 | Boolean | True | 是 |
javax.xml.stream.isSupportingExternalEntities | 解析外部解析的实体 | Boolean | 未指定 | 是 |
javax.xml.stream.supportDTD | 使用此属性请求不支持 DTD 的处理器 | Boolean | True | 是 |
javax.xml.stream.reporter | 设置/获取 XMLReporter 的 impl | javax.xml.stream.XMLReporter | Null | 是 |
javax.xml.stream.resolver | 设置/获取 XMLResolver 接口的 impl | javax.xml.stream.XMLResolver | Null | 是 |
javax.xml.stream.allocator | 设置/获取 XMLEventAllocator 接口的 impl | javax.xml.stream.util.XMLEventAllocator | Null | 是 |
XMLOutputFactory
,
XMLEventReader
,
XMLStreamReader
,
EventFilter
,
XMLReporter
,
XMLResolver
,
XMLEventAllocator
字段摘要 | |
---|---|
static String |
ALLOCATOR 用于设置/获取分配器实现的属性。 |
static String |
IS_COALESCING 要求解析器组合相邻字符数据部分的属性。 |
static String |
IS_NAMESPACE_AWARE 用于开启/关闭名称空间支持的属性,该属性用于支持 XML 1.0 文档,只有 true 设置是必须受支持的。 |
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 的属性。 |
构造方法摘要 | |
---|---|
protected |
XMLInputFactory() |
方法摘要 | |
---|---|
abstract XMLEventReader |
createFilteredReader(XMLEventReader reader, EventFilter filter) 创建过滤的事件 reader,它用过滤器包装事件 reader。 |
abstract XMLStreamReader |
createFilteredReader(XMLStreamReader reader, StreamFilter filter) 创建过滤的 reader,它用过滤器包装 reader。 |
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) 根据 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) 根据 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) 根据 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 |
newInstance() 创建一个新的工厂实例。 |
static XMLInputFactory |
newInstance(String factoryId, ClassLoader 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 上进行设置的解析器。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
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
构造方法详细信息 |
---|
protected XMLInputFactory()
方法详细信息 |
---|
public static XMLInputFactory newInstance() throws FactoryConfigurationError
FactoryConfigurationError
- 如果此工厂的实例无法加载
public static XMLInputFactory newInstance(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError
factoryId
- 要查找的工厂的名称,与属性名称相同
classLoader
- 要使用的类加载器
FactoryConfigurationError
- 如果此工厂的实例无法加载
public abstract XMLStreamReader createXMLStreamReader(Reader reader) throws XMLStreamException
reader
- 要从中读取 XMLStreamReader 的 XML 数据
XMLStreamException
public abstract XMLStreamReader createXMLStreamReader(Source source) throws XMLStreamException
source
- 要从中读取 XMLStreamReader 的源
UnsupportedOperationException
- 如果 XMLInputFactory 不支持此方法
XMLStreamException
public abstract XMLStreamReader createXMLStreamReader(InputStream stream) throws XMLStreamException
stream
- 要从中读取 XMLStreamReader 的 InputStream
XMLStreamException
public abstract XMLStreamReader createXMLStreamReader(InputStream stream, String encoding) throws XMLStreamException
stream
- 要从中读取 XMLStreamReader 的 InputStream
encoding
- 流的字符编码
XMLStreamException
public abstract XMLStreamReader createXMLStreamReader(String systemId, InputStream stream) throws XMLStreamException
systemId
- 流的系统 ID
stream
- 要从中读取 XMLStreamReader 的 InputStream
XMLStreamException
public abstract XMLStreamReader createXMLStreamReader(String systemId, Reader reader) throws XMLStreamException
systemId
- 流的系统 ID
reader
- 要从中读取 XMLStreamReader 的 InputStream
XMLStreamException
public abstract XMLEventReader createXMLEventReader(Reader reader) throws XMLStreamException
reader
- 要从中读取 XMLEventReader 的 XML 数据
XMLStreamException
public abstract XMLEventReader createXMLEventReader(String systemId, Reader reader) throws XMLStreamException
systemId
- 输入的系统 ID
reader
- 要从中读取 XMLEventReader 的 XML 数据
XMLStreamException
public abstract XMLEventReader createXMLEventReader(XMLStreamReader reader) throws XMLStreamException
reader
- 要从中读取数据的 XMLStreamReader (不能修改)
XMLStreamException
public abstract XMLEventReader createXMLEventReader(Source source) throws XMLStreamException
source
- 要从中读取 XMLEventReader 的源
UnsupportedOperationException
- 如果此 XMLInputFactory 不支持此方法
XMLStreamException
public abstract XMLEventReader createXMLEventReader(InputStream stream) throws XMLStreamException
stream
- 要从中读取 XMLEventReader 的 InputStream
XMLStreamException
public abstract XMLEventReader createXMLEventReader(InputStream stream, String encoding) throws XMLStreamException
stream
- 要从中读取 XMLEventReader 的 InputStream
encoding
- 流的字符编码
XMLStreamException
public abstract XMLEventReader createXMLEventReader(String systemId, InputStream stream) throws XMLStreamException
systemId
- 流的系统 ID
stream
- 要从中读取 XMLEventReader 的 InputStream
XMLStreamException
public abstract XMLStreamReader createFilteredReader(XMLStreamReader reader, StreamFilter filter) throws XMLStreamException
reader
- 要过滤的 reader
filter
- 要应用到 reader 的过滤器
XMLStreamException
public abstract XMLEventReader createFilteredReader(XMLEventReader reader, EventFilter filter) throws XMLStreamException
reader
- 要包装的事件 reader
filter
- 要应用到事件 reader 的过滤器
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
name
- 属性的名称(不可以为 null)
value
- 属性的值
IllegalArgumentException
- 如果属性不受支持
public abstract Object getProperty(String name) throws IllegalArgumentException
name
- 属性的名称(不可以为 null)
IllegalArgumentException
- 如果属性不受支持
public abstract boolean isPropertySupported(String name)
name
- 属性的名称(不可以为 null)
public abstract void setEventAllocator(XMLEventAllocator allocator)
allocator
- 用户定义的分配器
public abstract XMLEventAllocator getEventAllocator()