| 属性名称 | 行为 | 返回类型 | 默认值 | 必需的 |
|---|---|---|---|---|
| javax.xml.stream.isValidating | 打开/关闭特定于实现的 DTD 验证 | Boolean | 错误的 | 不 |
| javax.xml.stream.isNamespaceAware | 打开/关闭 XML 1.0 支持的名称空间处理 | Boolean | 真的 | 真(必选)/假(可选) |
| javax.xml.stream.isCoalescing | 要求处理器合并相邻的字符数据 | Boolean | 错误的 | 是的 |
| javax.xml.stream.isReplacingEntityReferences | 用替换文本替换内部实体引用并将它们报告为字符 | Boolean | 真的 | 是的 |
| javax.xml.stream.isSupportingExternalEntities | 解析外部解析的实体 | Boolean | 未指定 | 是的 |
| javax.xml.stream.supportDTD | 使用此属性请求不支持 DTD 的处理器 | Boolean | 真的 | 是的 |
| javax.xml.stream.reporter | 设置/获取 XMLReporter 的实现 | javax.xml.stream.XMLReporter | 无效的 | 是的 |
| javax.xml.stream.resolver | 设置/获取 XMLResolver 接口的实现 | javax.xml.stream.XMLResolver | 无效的 | 是的 |
| javax.xml.stream.allocator | 设置/获取 XMLEventAllocator 接口的实现 | javax.xml.stream.util.XMLEventAllocator | 无效的 | 是的 |
- 自从:
- 1.6
- 参见:
-
字段摘要
字段修饰符和类型Field描述static final String用于设置/获取分配器实现的属性static final String要求解析器合并相邻字符数据部分的属性static final String用于开启/关闭命名空间支持的属性,这是为了支持XML 1.0文档,只有true设置必须支持static final String要求解析器用它们的替换文本替换内部实体引用并将它们报告为字符static final String需要解析器解析外部解析实体的属性static final String用于打开/关闭特定于实现的验证的属性static final String用于设置/获取 XMLReporter 接口实现的属性static final String用于设置/获取 XMLResolver 实现的属性static final String要求解析器支持 DTD 的属性 -
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述abstract XMLEventReadercreateFilteredReader(XMLEventReader reader, EventFilter filter) 创建一个过滤事件阅读器,将过滤器包装在事件阅读器周围abstract XMLStreamReadercreateFilteredReader(XMLStreamReader reader, StreamFilter filter) 创建一个过滤阅读器,将过滤器包裹在阅读器周围abstract XMLEventReadercreateXMLEventReader(InputStream stream) 从 java.io.InputStream 创建一个新的 XMLEventReaderabstract XMLEventReadercreateXMLEventReader(InputStream stream, String encoding) 从 java.io.InputStream 创建一个新的 XMLEventReaderabstract XMLEventReadercreateXMLEventReader(Reader reader) 从阅读器创建一个新的 XMLEventReader。abstract XMLEventReadercreateXMLEventReader(String systemId, InputStream stream) 从 java.io.InputStream 创建一个新的 XMLEventReaderabstract XMLEventReadercreateXMLEventReader(String systemId, Reader reader) 从阅读器创建一个新的 XMLEventReader。abstract XMLEventReadercreateXMLEventReader(XMLStreamReader reader) 从 XMLStreamReader 创建一个新的 XMLEventReader。abstract XMLEventReadercreateXMLEventReader(Source source) 从 JAXP 源创建一个新的 XMLEventReader。abstract XMLStreamReadercreateXMLStreamReader(InputStream stream) 从 java.io.InputStream 创建一个新的 XMLStreamReader。abstract XMLStreamReadercreateXMLStreamReader(InputStream stream, String encoding) 从 java.io.InputStream 创建一个新的 XMLStreamReader。abstract XMLStreamReadercreateXMLStreamReader(Reader reader) 从阅读器创建一个新的 XMLStreamReader。abstract XMLStreamReadercreateXMLStreamReader(String systemId, InputStream stream) 从 java.io.InputStream 创建一个新的 XMLStreamReader。abstract XMLStreamReadercreateXMLStreamReader(String systemId, Reader reader) 从 java.io.InputStream 创建一个新的 XMLStreamReader。abstract XMLStreamReadercreateXMLStreamReader(Source source) 从 JAXP 源创建一个新的 XMLStreamReader。abstract XMLEventAllocator获取使用此工厂创建的流使用的分配器abstract ObjectgetProperty(String name) 从底层实现中获取功能/属性的值abstract XMLReporter将在此工厂实例创建的任何 XMLStreamReader 或 XMLEventReader 上设置的报告器。abstract XMLResolver将在此工厂实例创建的任何 XMLStreamReader 或 XMLEventReader 上设置的解析器。abstract booleanisPropertySupported(String name) 查询该工厂支持的属性集。static XMLInputFactory创建XMLInputFactory内置系统默认实现的新实例。static XMLInputFactory创建工厂的新实例。static XMLInputFactorynewFactory(String factoryId, ClassLoader classLoader) 创建工厂的新实例。static XMLInputFactory以与newFactory()方法完全相同的方式创建工厂的新实例。static XMLInputFactorynewInstance(String factoryId, ClassLoader classLoader) 已弃用。此方法已被弃用以保持 API 一致性。abstract voidsetEventAllocator(XMLEventAllocator allocator) 为事件设置用户定义的事件分配器abstract voidsetProperty(String name, Object value) 允许用户在底层实现上设置特定的特性/属性。abstract voidsetXMLReporter(XMLReporter reporter) 将在此工厂实例创建的任何 XMLStreamReader 或 XMLEventReader 上设置的报告器。abstract voidsetXMLResolver(XMLResolver resolver) 将在此工厂实例创建的任何 XMLStreamReader 或 XMLEventReader 上设置的解析器。
-
字段详细信息
-
IS_NAMESPACE_AWARE
用于开启/关闭命名空间支持的属性,这是为了支持XML 1.0文档,只有true设置必须支持- 参见:
-
IS_VALIDATING
用于打开/关闭特定于实现的验证的属性- 参见:
-
IS_COALESCING
要求解析器合并相邻字符数据部分的属性- 参见:
-
IS_REPLACING_ENTITY_REFERENCES
要求解析器用它们的替换文本替换内部实体引用并将它们报告为字符- 参见:
-
IS_SUPPORTING_EXTERNAL_ENTITIES
需要解析器解析外部解析实体的属性- 参见:
-
SUPPORT_DTD
要求解析器支持 DTD 的属性- 参见:
-
REPORTER
用于设置/获取 XMLReporter 接口实现的属性- 参见:
-
RESOLVER
用于设置/获取 XMLResolver 实现的属性- 参见:
-
ALLOCATOR
用于设置/获取分配器实现的属性- 参见:
-
-
构造方法详细信息
-
XMLInputFactory
protected XMLInputFactory()受保护的构造函数以防止实例化。请改用newFactory()。
-
-
方法详情
-
newDefaultFactory
创建XMLInputFactory内置系统默认实现的新实例。- 返回:
XMLInputFactory内置系统默认实现的新实例。- 自从:
- 9
-
newInstance
以与newFactory()方法完全相同的方式创建工厂的新实例。- 返回:
XMLInputFactory的实例- 抛出:
FactoryConfigurationError- 如果无法加载此工厂的实例
-
newFactory
创建工厂的新实例。此方法使用 JAXP 查找机制 来确定要加载的XMLInputFactory实现类。一旦应用程序获得了对
XMLInputFactory的引用,它就可以使用工厂来配置和获取流实例。- 返回:
XMLInputFactory的实例- 抛出:
FactoryConfigurationError- 在 服务配置错误 的情况下,或者如果实现不可用或无法实例化。
-
newInstance
@Deprecated (since ="1.7") public static XMLInputFactory newInstance(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError 已弃用。此方法已被弃用以保持 API 一致性。所有 newInstance 方法都已替换为相应的 newFactory 方法。替换newFactory(java.lang.String, java.lang.ClassLoader)方法没有定义任何行为变化。创建工厂的新实例。- 参数:
factoryId- 要查找的工厂名称,与属性名称相同classLoader- 要使用的类加载器- 返回:
- 工厂实现
- 抛出:
FactoryConfigurationError- 如果无法加载此工厂的实例
-
newFactory
public static XMLInputFactory newFactory(String factoryId, ClassLoader classLoader) throws FactoryConfigurationError 创建工厂的新实例。如果 classLoader 参数为空,则使用 ContextClassLoader。此方法使用以下有序查找过程来确定要加载的 XMLInputFactory 实现类:
使用
factoryId标识的系统属性的值。使用配置文件“stax.properties”。该文件采用标准
Properties格式,通常位于 Java 安装的conf目录中。它包含实现类的完全限定名称,键是上面定义的系统属性。stax.properties 文件仅由实现读取一次,然后缓存其值以备将来使用。如果在第一次尝试读取文件时该文件不存在,则不会进一步尝试检查其是否存在。第一次读取 stax.properties 中的任何属性后,就无法更改其值。
使用 jaxp 配置文件“jaxp.properties”。该文件的格式与 stax.properties 相同,只有在 stax.properties 不存在时才会被读取。
如果
factoryId是“javax.xml.stream.XMLInputFactory”,则使用由ServiceLoader类定义的服务提供商加载工具,尝试使用指定的ClassLoader定位并加载 实现服务。如果classLoader为空,则 默认加载机制 将适用:也就是说,服务提供商加载工具将使用 当前线程的上下文类加载器 尝试加载服务。如果上下文类加载器为 null,则将使用 系统类加载器。否则,抛出一个
FactoryConfigurationError。
请注意,这是一种替代已弃用的
newInstance(String factoryId, ClassLoader classLoader)方法的新方法。相对于已弃用的方法,此替换方法未定义任何行为更改。- API 注意:
- 此处定义的参数 factoryId 与其他 JAXP 工厂的参数不一致,其中第一个参数是提供工厂实现的完全限定工厂类名。
- 参数:
factoryId- 要查找的工厂名称,与属性名称相同classLoader- 要使用的类加载器- 返回:
- 工厂实现
- 抛出:
FactoryConfigurationError- 在 服务配置错误 的情况下,或者如果实现不可用或无法实例化。FactoryConfigurationError- 如果无法加载此工厂的实例
-
createXMLStreamReader
从阅读器创建一个新的 XMLStreamReader。- 参数:
reader- 要读取的 XML 数据- 返回:
XMLStreamReader的实例- 抛出:
XMLStreamException- 如果发生错误
-
createXMLStreamReader
从 JAXP 源创建一个新的 XMLStreamReader。此方法是可选的。- 参数:
source- 要读取的来源- 返回:
XMLStreamReader的实例- 抛出:
UnsupportedOperationException- 如果此 XMLInputFactory 不支持此方法XMLStreamException- 如果发生错误
-
createXMLStreamReader
从 java.io.InputStream 创建一个新的 XMLStreamReader。- 参数:
stream- 要读取的 InputStream- 返回:
XMLStreamReader的实例- 抛出:
XMLStreamException- 如果发生错误
-
createXMLStreamReader
public abstract XMLStreamReader createXMLStreamReader(InputStream stream, String encoding) throws XMLStreamException 从 java.io.InputStream 创建一个新的 XMLStreamReader。- 参数:
stream- 要读取的 InputStreamencoding- 流的字符编码- 返回:
XMLStreamReader的实例- 抛出:
XMLStreamException- 如果发生错误
-
createXMLStreamReader
public abstract XMLStreamReader createXMLStreamReader(String systemId, InputStream stream) throws XMLStreamException 从 java.io.InputStream 创建一个新的 XMLStreamReader。- 参数:
systemId- 流的系统 IDstream- 要读取的 InputStream- 返回:
XMLStreamReader的实例- 抛出:
XMLStreamException- 如果发生错误
-
createXMLStreamReader
public abstract XMLStreamReader createXMLStreamReader(String systemId, Reader reader) throws XMLStreamException 从 java.io.InputStream 创建一个新的 XMLStreamReader。- 参数:
systemId- 流的系统 IDreader- 要读取的 InputStream- 返回:
XMLStreamReader的实例- 抛出:
XMLStreamException- 如果发生错误
-
createXMLEventReader
从阅读器创建一个新的 XMLEventReader。- 参数:
reader- 要读取的 XML 数据- 返回:
XMLEventReader的实例- 抛出:
XMLStreamException- 如果发生错误
-
createXMLEventReader
public abstract XMLEventReader createXMLEventReader(String systemId, Reader reader) throws XMLStreamException 从阅读器创建一个新的 XMLEventReader。- 参数:
systemId- 输入的系统 IDreader- 要读取的 XML 数据- 返回:
XMLEventReader的实例- 抛出:
XMLStreamException- 如果发生错误
-
createXMLEventReader
public abstract XMLEventReader createXMLEventReader(XMLStreamReader reader) throws XMLStreamException 从 XMLStreamReader 创建一个新的 XMLEventReader。在用于构造从此方法返回的 XMLEventReader 实例后,不得使用 XMLStreamReader。- 参数:
reader- 要从中读取的 XMLStreamReader(可能无法修改)- 返回:
- 一个新的 XMLEventReader
- 抛出:
XMLStreamException- 如果发生错误
-
createXMLEventReader
从 JAXP 源创建一个新的 XMLEventReader。对该方法的支持是可选的。- 参数:
source- 要读取的来源- 返回:
XMLEventReader的实例- 抛出:
XMLStreamException- 如果发生错误UnsupportedOperationException- 如果此 XMLInputFactory 不支持此方法
-
createXMLEventReader
从 java.io.InputStream 创建一个新的 XMLEventReader- 参数:
stream- 要读取的 InputStream- 返回:
XMLEventReader的实例- 抛出:
XMLStreamException- 如果发生错误
-
createXMLEventReader
public abstract XMLEventReader createXMLEventReader(InputStream stream, String encoding) throws XMLStreamException 从 java.io.InputStream 创建一个新的 XMLEventReader- 参数:
stream- 要读取的 InputStreamencoding- 流的字符编码- 返回:
XMLEventReader的实例- 抛出:
XMLStreamException- 如果发生错误
-
createXMLEventReader
public abstract XMLEventReader createXMLEventReader(String systemId, InputStream stream) throws XMLStreamException 从 java.io.InputStream 创建一个新的 XMLEventReader- 参数:
systemId- 流的系统 IDstream- 要读取的 InputStream- 返回:
XMLEventReader的实例- 抛出:
XMLStreamException- 如果发生错误
-
createFilteredReader
public abstract XMLStreamReader createFilteredReader(XMLStreamReader reader, StreamFilter filter) throws XMLStreamException 创建一个过滤阅读器,将过滤器包裹在阅读器周围- 参数:
reader- 要过滤的读者filter- 应用于阅读器的过滤器- 返回:
XMLEventReader的实例- 抛出:
XMLStreamException- 如果发生错误
-
createFilteredReader
public abstract XMLEventReader createFilteredReader(XMLEventReader reader, EventFilter filter) throws XMLStreamException 创建一个过滤事件阅读器,将过滤器包装在事件阅读器周围- 参数:
reader- 要包装的事件读取器filter- 应用于事件阅读器的过滤器- 返回:
XMLEventReader的实例- 抛出:
XMLStreamException- 如果发生错误
-
getXMLResolver
将在此工厂实例创建的任何 XMLStreamReader 或 XMLEventReader 上设置的解析器。- 返回:
XMLResolver的实例
-
setXMLResolver
将在此工厂实例创建的任何 XMLStreamReader 或 XMLEventReader 上设置的解析器。- 参数:
resolver- 用于解析引用的解析器
-
getXMLReporter
将在此工厂实例创建的任何 XMLStreamReader 或 XMLEventReader 上设置的报告器。- 返回:
XMLReporter的实例
-
setXMLReporter
将在此工厂实例创建的任何 XMLStreamReader 或 XMLEventReader 上设置的报告器。- 参数:
reporter- 用于报告非致命错误的解析器
-
setProperty
允许用户在底层实现上设置特定的特性/属性。底层实现不需要支持规范中每个属性的每个设置,并且可以使用 IllegalArgumentException 来表示不能使用指定值设置不受支持的属性。所有实现 JAXP 1.5 或更新版本的实现都需要支持
XMLConstants.ACCESS_EXTERNAL_DTD属性。访问外部 DTD、外部实体引用仅限于属性指定的协议。如果由于此属性的限制而在解析过程中拒绝访问,
XMLStreamException将被XMLStreamReader.next()或XMLEventReader.nextEvent()方法抛出。
- 参数:
name- 属性的名称(不能为空)value- 属性值- 抛出:
IllegalArgumentException- 如果不支持该属性
-
getProperty
从底层实现中获取功能/属性的值- 参数:
name- 属性的名称(不能为空)- 返回:
- 财产的值
- 抛出:
IllegalArgumentException- 如果不支持该属性
-
isPropertySupported
查询该工厂支持的属性集。- 参数:
name- 属性的名称(不能为空)- 返回:
- 如果支持该属性,则为 true,否则为 false
-
setEventAllocator
为事件设置用户定义的事件分配器- 参数:
allocator- 用户定义的分配器
-
getEventAllocator
获取使用此工厂创建的流使用的分配器- 返回:
XMLEventAllocator的实例
-