- java.lang.Object
-
- org.xml.sax.helpers.XMLReaderAdapter
-
- All Implemented Interfaces:
-
ContentHandler
,Parser
public class XMLReaderAdapter extends Object implements Parser, ContentHandler
将SAX2 XMLReader修改为SAX1解析器。This module, both source code and documentation, is in the Public Domain, and comes with NO WARRANTY. See http://www.saxproject.org for further information.
这个类包装一个SAX2
XMLReader
,并使其作为SAX1Parser
。 XMLReader必须支持http://xml.org/sax/features/namespace-prefixes属性的真实值,否则解析将失败,并显示SAXException
; 如果XMLReader支持http://xml.org/sax/features/namespaces属性的错误值,那么这也将用于提高效率。
-
-
构造方法摘要
构造方法 Constructor 描述 XMLReaderAdapter()
创建一个新的适配器。XMLReaderAdapter(XMLReader xmlReader)
创建一个新的适配器。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 void
characters(char[] ch, int start, int length)
调整SAX2字符事件。void
endDocument()
结束文件事件。void
endElement(String uri, String localName, String qName)
修改SAX2终端元素事件。void
endPrefixMapping(String prefix)
修改SAX2结束前缀映射事件。void
ignorableWhitespace(char[] ch, int start, int length)
适应SAX2可忽略的空白事件。void
parse(String systemId)
解析文件。void
parse(InputSource input)
解析文件。void
processingInstruction(String target, String data)
修改SAX2处理指令事件。void
setDocumentHandler(DocumentHandler handler)
注册SAX1文档事件处理程序。void
setDocumentLocator(Locator locator)
设置文档定位器。void
setDTDHandler(DTDHandler handler)
注册DTD事件处理程序。void
setEntityResolver(EntityResolver resolver)
注册实体解析器。void
setErrorHandler(ErrorHandler handler)
注册错误事件处理程序。void
setLocale(Locale locale)
设置错误报告的区域设置。void
skippedEntity(String name)
修改SAX2跳过的实体事件。void
startDocument()
开始文件事件。void
startElement(String uri, String localName, String qName, Attributes atts)
修改SAX2启动元素事件。void
startPrefixMapping(String prefix, String uri)
修改SAX2启动前缀映射事件。
-
-
-
构造方法详细信息
-
XMLReaderAdapter
public XMLReaderAdapter() throws SAXException
创建一个新的适配器。使用“org.xml.sax.driver”属性找到要嵌入的SAX2驱动程序。
- 异常
-
SAXException
- 如果嵌入式驱动程序无法实例化或未指定org.xml.sax.driver属性。
-
XMLReaderAdapter
public XMLReaderAdapter(XMLReader xmlReader)
创建一个新的适配器。创建一个新的适配器,包裹着一个SAX2 XMLReader。 该适配器将使XMLReader的行为像SAX1解析器。
- 参数
-
xmlReader
- 要包装的SAX2 XMLReader。 - 异常
-
NullPointerException
- 如果参数为空。
-
-
方法详细信息
-
setLocale
public void setLocale(Locale locale) throws SAXException
设置错误报告的区域设置。这在SAX2中不受支持,并且将始终抛出异常。
- Specified by:
-
setLocale
在接口Parser
- 参数
-
locale
- 错误报告的区域设置。 - 异常
-
SAXException
- 抛出,除非被覆盖。 - 另请参见:
-
Parser.setLocale(java.util.Locale)
-
setEntityResolver
public void setEntityResolver(EntityResolver resolver)
注册实体解析器。- Specified by:
-
setEntityResolver
在接口Parser
- 参数
-
resolver
- 新的解析器。 - 另请参见:
-
Parser.setEntityResolver(org.xml.sax.EntityResolver)
-
setDTDHandler
public void setDTDHandler(DTDHandler handler)
注册DTD事件处理程序。- Specified by:
-
setDTDHandler
在接口Parser
- 参数
-
handler
- 新的DTD事件处理程序。 - 另请参见:
-
Parser.setDTDHandler(org.xml.sax.DTDHandler)
-
setDocumentHandler
public void setDocumentHandler(DocumentHandler handler)
注册SAX1文档事件处理程序。请注意,SAX1文档处理程序不支持命名空间。
- Specified by:
-
setDocumentHandler
在接口Parser
- 参数
-
handler
- 新的SAX1文档事件处理程序。 - 另请参见:
-
Parser.setDocumentHandler(org.xml.sax.DocumentHandler)
-
setErrorHandler
public void setErrorHandler(ErrorHandler handler)
注册错误事件处理程序。- Specified by:
-
setErrorHandler
在接口Parser
- 参数
-
handler
- 新的错误事件处理程序。 - 另请参见:
-
Parser.setErrorHandler(org.xml.sax.ErrorHandler)
-
parse
public void parse(String systemId) throws IOException, SAXException
解析文件。如果嵌入式XMLReader不支持http://xml.org/sax/features/namespace-prefixes属性,则此方法将抛出异常。
- Specified by:
-
parse
在接口Parser
- 参数
-
systemId
- 文档的绝对URL。 - 异常
-
IOException
- 如果读取文档的原始内容时出现问题。 -
SAXException
- 如果处理文档时出现问题。 - 另请参见:
-
parse(org.xml.sax.InputSource)
,Parser.parse(java.lang.String)
-
parse
public void parse(InputSource input) throws IOException, SAXException
解析文件。如果嵌入式XMLReader不支持http://xml.org/sax/features/namespace-prefixes属性,则此方法将抛出异常。
- Specified by:
-
parse
在接口Parser
- 参数
-
input
- 文档的输入源。 - 异常
-
IOException
- 如果读取文档的原始内容时出现问题。 -
SAXException
- 如果在处理文档时出现问题。 - 另请参见:
-
parse(java.lang.String)
,Parser.parse(org.xml.sax.InputSource)
-
setDocumentLocator
public void setDocumentLocator(Locator locator)
设置文档定位器。- Specified by:
-
setDocumentLocator
在接口ContentHandler
- 参数
-
locator
- 文档定位器。 - 另请参见:
-
ContentHandler.setDocumentLocator(org.xml.sax.Locator)
-
startDocument
public void startDocument() throws SAXException
开始文件事件。- Specified by:
-
startDocument
在接口ContentHandler
- 异常
-
SAXException
- 客户端可能会引发处理异常。 - 另请参见:
-
ContentHandler.startDocument()
-
endDocument
public void endDocument() throws SAXException
结束文件事件。- Specified by:
-
endDocument
在接口ContentHandler
- 异常
-
SAXException
- 客户端可能会引发处理异常。 - 另请参见:
-
ContentHandler.endDocument()
-
startPrefixMapping
public void startPrefixMapping(String prefix, String uri)
修改SAX2启动前缀映射事件。- Specified by:
-
startPrefixMapping
在接口ContentHandler
- 参数
-
prefix
- 正在映射的前缀。 -
uri
- 映射到的命名空间URI。 - 另请参见:
-
ContentHandler.startPrefixMapping(java.lang.String, java.lang.String)
-
endPrefixMapping
public void endPrefixMapping(String prefix)
修改SAX2结束前缀映射事件。- Specified by:
-
endPrefixMapping
在接口ContentHandler
- 参数
-
prefix
- 映射的前缀。 - 另请参见:
-
ContentHandler.endPrefixMapping(java.lang.String)
-
startElement
public void startElement(String uri, String localName, String qName, Attributes atts) throws SAXException
修改SAX2启动元素事件。- Specified by:
-
startElement
接口ContentHandler
- 参数
-
uri
- 命名空间URI。 -
localName
- 命名空间本地名称。 -
qName
- 合格(前缀)名称。 -
atts
- SAX2属性。 - 异常
-
SAXException
- 客户端可能会引发处理异常。 - 另请参见:
-
ContentHandler.endDocument()
-
endElement
public void endElement(String uri, String localName, String qName) throws SAXException
修改SAX2终端元素事件。- Specified by:
-
endElement
在接口ContentHandler
- 参数
-
uri
- 命名空间URI。 -
localName
- 命名空间本地名称。 -
qName
- 合格(前缀)名称。 - 异常
-
SAXException
- 客户端可能会引发处理异常。 - 另请参见:
-
ContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)
-
characters
public void characters(char[] ch, int start, int length) throws SAXException
调整SAX2字符事件。- Specified by:
-
characters
在接口ContentHandler
- 参数
-
ch
- 字符数组。 -
start
- 数组中的起始位置。 -
length
- 要使用的字符数。 - 异常
-
SAXException
- 客户端可能会引发处理异常。 - 另请参见:
-
ContentHandler.characters(char[], int, int)
-
ignorableWhitespace
public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException
适应SAX2可忽略的空白事件。- Specified by:
-
ignorableWhitespace
在接口ContentHandler
- 参数
-
ch
- 一个字符数组。 -
start
- 数组中的起始位置。 -
length
- 要使用的字符数 - 异常
-
SAXException
- 客户端可能会引发处理异常。 - 另请参见:
-
ContentHandler.ignorableWhitespace(char[], int, int)
-
processingInstruction
public void processingInstruction(String target, String data) throws SAXException
修改SAX2处理指令事件。- Specified by:
-
processingInstruction
在接口ContentHandler
- 参数
-
target
- 处理指令目标。 -
data
- 处理指令的其余部分 - 异常
-
SAXException
- 客户端可能会引发处理异常。 - 另请参见:
-
ContentHandler.processingInstruction(java.lang.String, java.lang.String)
-
skippedEntity
public void skippedEntity(String name) throws SAXException
修改SAX2跳过的实体事件。- Specified by:
-
skippedEntity
在接口ContentHandler
- 参数
-
name
- 跳过的实体的名称。 - 异常
-
SAXException
- 被子类SAXException
。 - 另请参见:
-
ContentHandler.skippedEntity(java.lang.String)
-
-