- 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 方法 描述 voidcharacters(char[] ch, int start, int length)调整SAX2字符事件。voidendDocument()结束文件事件。voidendElement(String uri, String localName, String qName)修改SAX2终端元素事件。voidendPrefixMapping(String prefix)修改SAX2结束前缀映射事件。voidignorableWhitespace(char[] ch, int start, int length)适应SAX2可忽略的空白事件。voidparse(String systemId)解析文件。voidparse(InputSource input)解析文件。voidprocessingInstruction(String target, String data)修改SAX2处理指令事件。voidsetDocumentHandler(DocumentHandler handler)注册SAX1文档事件处理程序。voidsetDocumentLocator(Locator locator)设置文档定位器。voidsetDTDHandler(DTDHandler handler)注册DTD事件处理程序。voidsetEntityResolver(EntityResolver resolver)注册实体解析器。voidsetErrorHandler(ErrorHandler handler)注册错误事件处理程序。voidsetLocale(Locale locale)设置错误报告的区域设置。voidskippedEntity(String name)修改SAX2跳过的实体事件。voidstartDocument()开始文件事件。voidstartElement(String uri, String localName, String qName, Attributes atts)修改SAX2启动元素事件。voidstartPrefixMapping(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)
-
-