- 自从:
- 1.4
-
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述abstract booleangetFeature(String name) 返回在 org.xml.sax.XMLReader 的底层实现中请求的特定属性。获取通过setSchema(Schema schema)方法指定的Schema对象。boolean指示工厂是否配置为生成可识别名称空间的解析器。boolean指示工厂是否配置为生成在解析期间验证 XML 内容的解析器。boolean获取 XInclude 处理的状态。static SAXParserFactory创建SAXParserFactory内置系统默认实现的新实例。static SAXParserFactory创建SAXParserFactory内置系统默认实现的新 NamespaceAware 实例。static SAXParserFactory获得SAXParserFactory的新实例。static SAXParserFactorynewInstance(String factoryClassName, ClassLoader classLoader) 从类名中获取SAXParserFactory的新实例。static SAXParserFactory创建SAXParserFactory的新 NamespaceAware 实例。static SAXParserFactorynewNSInstance(String factoryClassName, ClassLoader classLoader) 从类名创建SAXParserFactory的新 NamespaceAware 实例。abstract SAXParser使用当前配置的工厂参数创建 SAXParser 的新实例。abstract voidsetFeature(String name, boolean value) 在 org.xml.sax.XMLReader 的底层实现中设置特定功能。voidsetNamespaceAware(boolean awareness) 指定由此代码生成的解析器将提供对 XML 名称空间的支持。void设置Schema以供从此工厂创建的解析器使用。voidsetValidating(boolean validating) 指定由此代码生成的解析器将在解析文档时验证它们。voidsetXIncludeAware(boolean state) 设置 XInclude 处理的状态。
-
构造方法详细信息
-
SAXParserFactory
protected SAXParserFactory()受保护的构造函数强制使用newInstance()。
-
-
方法详情
-
newDefaultNSInstance
创建SAXParserFactory内置系统默认实现的新 NamespaceAware 实例。默认情况下,工厂实例生成的解析器提供对 XML 命名空间的支持。- 实现要求:
-
除了使用与
newDefaultInstance()相同的进程创建工厂实例外,此方法还必须将 NamespaceAware 设置为 true。 - 返回:
SAXParserFactory内置系统默认实现的新实例。- 自从:
- 13
-
newNSInstance
创建SAXParserFactory的新 NamespaceAware 实例。默认情况下,工厂实例生成的解析器提供对 XML 命名空间的支持。- 实现要求:
-
除了使用与
newInstance()相同的进程创建工厂实例外,此方法还必须将 NamespaceAware 设置为 true。 - 返回:
SAXParserFactory的新实例- 抛出:
FactoryConfigurationError- 在 服务配置错误 的情况下,或者如果实现不可用或无法实例化。- 自从:
- 13
-
newNSInstance
从类名创建SAXParserFactory的新 NamespaceAware 实例。默认情况下,工厂实例生成的解析器提供对 XML 命名空间的支持。- 实现要求:
-
除了使用与
newInstance(java.lang.String, java.lang.ClassLoader)相同的进程创建工厂实例外,此方法还必须将 NamespaceAware 设置为 true。 - 参数:
factoryClassName- 提供javax.xml.parsers.SAXParserFactory实现的完全限定工厂类名称。classLoader-ClassLoader用于加载工厂类。如果是null,则使用当前Thread的context classLoader加载工厂类。- 返回:
SAXParserFactory的新实例- 抛出:
FactoryConfigurationError- 如果factoryClassName是null,或者无法加载、实例化工厂类。- 自从:
- 13
-
newDefaultInstance
创建SAXParserFactory内置系统默认实现的新实例。- 返回:
SAXParserFactory内置系统默认实现的新实例。- 自从:
- 9
-
newInstance
获得SAXParserFactory的新实例。此方法使用 JAXP 查找机制 来确定要加载的SAXParserFactory实现类。一旦应用程序获得了对
SAXParserFactory的引用,它就可以使用工厂来配置和获取解析器实例。故障排除提示
设置
jaxp.debug系统属性将导致此方法向System.err打印大量调试消息,说明它正在做什么以及正在查看的位置。如果您在加载
SAXParser时遇到问题,请尝试:java -Djaxp.debug=1 YourProgram ....
- 返回:
- SAXParserFactory 的新实例。
- 抛出:
FactoryConfigurationError- 在 服务配置错误 的情况下,或者如果实现不可用或无法实例化。
-
newInstance
从类名中获取SAXParserFactory的新实例。当类路径中有多个提供程序时,此函数很有用。它为应用程序提供了更多控制,因为它可以指定应加载哪个提供程序。一旦应用程序获得对
SAXParserFactory的引用,它就可以使用工厂来配置和获取解析器实例。故障排除提示
设置
jaxp.debug系统属性将导致此方法向System.err打印大量调试消息,说明它正在做什么以及正在查看的位置。如果遇到问题,请尝试:
java -Djaxp.debug=1 YourProgram ....
- 参数:
factoryClassName- 提供javax.xml.parsers.SAXParserFactory实现的完全限定工厂类名称。classLoader-ClassLoader用于加载工厂类。如果使用nullcurrentThread的context classLoader加载工厂类。- 返回:
SAXParserFactory的新实例- 抛出:
FactoryConfigurationError- 如果factoryClassName是null,或者无法加载、实例化工厂类。- 自从:
- 1.6
- 参见:
-
newSAXParser
使用当前配置的工厂参数创建 SAXParser 的新实例。- 返回:
- SAXParser 的新实例。
- 抛出:
ParserConfigurationException- 如果无法创建满足请求配置的解析器。SAXException- 针对 SAX 错误。
-
setNamespaceAware
public void setNamespaceAware(boolean awareness) 指定由此代码生成的解析器将提供对 XML 名称空间的支持。默认情况下,此值设置为false。- 参数:
awareness- 如果此代码生成的解析器将提供对 XML 名称空间的支持,则为真;否则为假。
-
setValidating
public void setValidating(boolean validating) 指定由此代码生成的解析器将在解析文档时验证它们。默认情况下,此值设置为false。请注意,此处的“验证”是指 XML 推荐中定义的 验证解析器。换句话说,它本质上只是控制 DTD 验证。 (JAXP 1.2 中定义的遗留两个属性除外。)
要使用 W3C XML Schema 或 RELAX NG 等现代模式语言而不是 DTD,您可以通过保留
setValidating(boolean)方法false将解析器配置为非验证解析器,然后使用setSchema(Schema)方法将模式与解析器相关联。- 参数:
validating- 如果此代码生成的解析器将在解析文档时验证文档,则为真;否则为假。
-
isNamespaceAware
public boolean isNamespaceAware()指示工厂是否配置为生成可识别名称空间的解析器。- 返回:
- 如果工厂配置为生成名称空间感知的解析器,则为真;否则为假。
-
isValidating
public boolean isValidating()指示工厂是否配置为生成在解析期间验证 XML 内容的解析器。- 返回:
- 如果工厂配置为生成在解析期间验证 XML 内容的解析器,则为 true;否则为假。
-
setFeature
public abstract void setFeature(String name, boolean value) throws ParserConfigurationException , SAXNotRecognizedException , SAXNotSupportedException 在 org.xml.sax.XMLReader 的底层实现中设置特定功能。可以在 http://www.saxproject.org/ 找到核心功能和属性的列表所有实现都需要支持
XMLConstants.FEATURE_SECURE_PROCESSING功能。当特征是true:实现将限制 XML 处理以符合实现限制。示例包括会消耗大量资源的实体扩展限制和 XML 架构构造。如果出于安全原因限制 XML 处理,将通过调用已注册的ErrorHandler.fatalError(SAXParseException exception)来报告。请参阅SAXParserparse处理程序规范的方法。- 当特性为
false时,实现将根据 XML 规范处理 XML,而不考虑可能的实现限制。
- 参数:
name- 要设置的功能的名称。value- 要设置的功能的值。- 抛出:
ParserConfigurationException- 如果无法创建满足请求配置的解析器。SAXNotRecognizedException- 当底层 XMLReader 无法识别属性名称时。SAXNotSupportedException- 当底层 XMLReader 识别属性名称但不支持该属性时。NullPointerException- 如果name参数为空。- 参见:
-
getFeature
public abstract boolean getFeature(String name) throws ParserConfigurationException , SAXNotRecognizedException , SAXNotSupportedException 返回在 org.xml.sax.XMLReader 的底层实现中请求的特定属性。- 参数:
name- 要检索的属性的名称。- 返回:
- 所请求属性的值。
- 抛出:
ParserConfigurationException- 如果无法创建满足请求配置的解析器。SAXNotRecognizedException- 当底层 XMLReader 无法识别属性名称时。SAXNotSupportedException- 当底层 XMLReader 识别属性名称但不支持该属性时。- 参见:
-
getSchema
获取通过setSchema(Schema schema)方法指定的Schema对象。- 返回:
-
最后通过
setSchema(Schema)方法设置的Schema对象,如果自创建SAXParserFactory以来未调用该方法,则为 null。 - 抛出:
UnsupportedOperationException- 当实现不覆盖此方法时- 自从:
- 1.5
-
setSchema
设置Schema以供从此工厂创建的解析器使用。当
Schema不为空时,解析器将使用从它创建的验证器来验证文档,然后再将信息传递给应用程序。当验证器发现警告/错误/致命错误时,解析器必须像解析器本身发现这些错误一样处理它们。换句话说,如果设置了用户指定的
ErrorHandler,它必须接收到那些错误,如果没有,则必须根据特定于实现的默认错误处理规则来处理它们。验证器可以修改 SAX 事件流(例如,通过添加文档中缺少的默认值),解析器负责确保应用程序将接收那些修改后的事件流。
最初,
null被设置为Schema。即使
isValidating()方法返回false,此处理也会生效。将
http://java.sun.com/xml/jaxp/properties/schemaSource属性和/或http://java.sun.com/xml/jaxp/properties/schemaLanguage属性与非空Schema对象结合使用是错误的。当在SAXParser上设置这些属性时,此类配置将导致SAXException异常。实现者须知
解析器必须能够与任何
Schema实现一起工作。但是,解析器和模式可以使用特定于实现的自定义机制,只要它们产生规范中描述的结果即可。- 参数:
schema-Schema使用,null删除架构。- 抛出:
UnsupportedOperationException- 当实现不覆盖此方法时- 自从:
- 1.5
-
setXIncludeAware
public void setXIncludeAware(boolean state) 设置 XInclude 处理的状态。如果在文档实例中发现 XInclude 标记,是否应按照 XML 包含 (XInclude) 1.0 版 中指定的方式进行处理。
XInclude 处理默认为
false。- 参数:
state- 将 XInclude 处理设置为true或false- 抛出:
UnsupportedOperationException- 当实现不覆盖此方法时- 自从:
- 1.5
-
isXIncludeAware
public boolean isXIncludeAware()获取 XInclude 处理的状态。- 返回:
- XInclude 处理的当前状态
- 抛出:
UnsupportedOperationException- 当实现不覆盖此方法时- 自从:
- 1.5
-