QXmlDefaultHandler Class Reference
[QtXml module]
该QXmlDefaultHandler类提供了所有的XML处理程序类的默认实现。More...
继承QXmlContentHandler,QXmlErrorHandler,QXmlDTDHandler,QXmlEntityResolver,QXmlLexicalHandler和QXmlDeclHandler。
Methods
-
__init__ (self)
-
bool attributeDecl (self, QString eName, QString aName, QString type, QString valueDefault, QString value)
-
bool characters (self, QString ch)
-
bool comment (self, QString ch)
-
bool endCDATA (self)
-
bool endDocument (self)
-
bool endDTD (self)
-
bool endElement (self, QString namespaceURI, QString localName, QString qName)
-
bool endEntity (self, QString name)
-
bool endPrefixMapping (self, QString prefix)
-
bool error (self, QXmlParseException exception)
-
QString errorString (self)
-
bool externalEntityDecl (self, QString name, QString publicId, QString systemId)
-
bool fatalError (self, QXmlParseException exception)
-
bool ignorableWhitespace (self, QString ch)
-
bool internalEntityDecl (self, QString name, QString value)
-
bool notationDecl (self, QString name, QString publicId, QString systemId)
-
bool processingInstruction (self, QString target, QString data)
-
(bool, QXmlInputSource ret) resolveEntity (self, QString publicId, QString systemId)
-
setDocumentLocator (self, QXmlLocator locator)
-
bool skippedEntity (self, QString name)
-
bool startCDATA (self)
-
bool startDocument (self)
-
bool startDTD (self, QString name, QString publicId, QString systemId)
-
bool startElement (self, QString namespaceURI, QString localName, QString qName, QXmlAttributes atts)
-
bool startEntity (self, QString name)
-
bool startPrefixMapping (self, QString prefix, QString uri)
-
bool unparsedEntityDecl (self, QString name, QString publicId, QString systemId, QString notationName)
-
bool warning (self, QXmlParseException exception)
Detailed Description
该QXmlDefaultHandler类提供了所有的XML处理程序类的默认实现。
这个类聚拢专门的处理程序类的功能,实现自定义处理程序的子类时,使其成为一个方便的起点QXmlReader,特别是QXmlSimpleReader。从每一个基类的虚函数重新实现这个类,对于很多常见情况提供合理的默认行为。通过继承这个类,并重写这些功能,你可以专注于实现应用程序相关的处理程序的各个部分。
XML读取器必须被告知在分析过程中使用的不同种类的事件的处理程序。这意味着,虽然QXmlDefaultHandler提供的所有基类继承的函数的默认实现,我们仍然可以使用专门的处理程序为特定类型的事件。
例如, QXmlDefaultHandler两个子类QXmlContentHandler和QXmlErrorHandler,所以通过继承它,我们可以使用相同的处理器为以下两个读卡器功能:
xmlReader.setContentHandler(handler);
xmlReader.setErrorHandler(handler);
由于阅读器将通知解析错误的处理程序中,有必要重新实现QXmlErrorHandler.fatalError( )如果,例如,我们想停止这样的时候发生错误解析:
bool Handler.fatalError (const QXmlParseException & exception)
{
qWarning() << "Fatal error on line" << exception.lineNumber()
<< ", column" << exception.columnNumber() << ":"
<< exception.message();
return false;
}
上面的函数返回False ,它告诉读者停止解析。继续使用相同的阅读器,就必须建立新的处理程序实例,并且设置了阅读器把它用在上面描述的方式。
重要的是要研究一些继承QXmlDefaultHandler的功能,并考虑他们为什么会在自定义处理程序来重新实现是非常有用的。自定义处理程序通常会重新实现QXmlContentHandler.startDocument( )准备处理程序的新内容。文档中的元素和其中的文本可以通过重新实现处理QXmlContentHandler.startElement( )QXmlContentHandler.endElement()和QXmlContentHandler.characters( ) 。您可能需要重新实现QXmlContentHandler.endDocument()来对内容进行一些最后确定或验证,一旦该文件已被完全读取。
Method Documentation
QXmlDefaultHandler.__init__ (self)
构造一个处理程序与子类使用QXmlReader。
bool QXmlDefaultHandler.attributeDecl (self, QString eName, QString aName, QString type, QString valueDefault, QString value)
从重新实现QXmlDeclHandler.attributeDecl( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.characters (self, QString ch)
从重新实现QXmlContentHandler.characters( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.comment (self, QString ch)
从重新实现QXmlLexicalHandler.comment( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.endCDATA (self)
从重新实现QXmlLexicalHandler.endCDATA( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.endDocument (self)
从重新实现QXmlContentHandler.endDocument( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.endDTD (self)
从重新实现QXmlLexicalHandler.endDTD( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.endElement (self, QString namespaceURI, QString localName, QString qName)
从重新实现QXmlContentHandler.endElement( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.endEntity (self, QString name)
从重新实现QXmlLexicalHandler.endEntity( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.endPrefixMapping (self, QString prefix)
从重新实现QXmlContentHandler.endPrefixMapping( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.error (self, QXmlParseException exception)
从重新实现QXmlErrorHandler.error( ) 。
这个重新实现不执行任何操作。
QString QXmlDefaultHandler.errorString (self)
从重新实现QXmlContentHandler.errorString( ) 。
返回默认的错误字符串。
bool QXmlDefaultHandler.externalEntityDecl (self, QString name, QString publicId, QString systemId)
从重新实现QXmlDeclHandler.externalEntityDecl( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.fatalError (self, QXmlParseException exception)
从重新实现QXmlErrorHandler.fatalError( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.ignorableWhitespace (self, QString ch)
从重新实现QXmlContentHandler.ignorableWhitespace( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.internalEntityDecl (self, QString name, QString value)
从重新实现QXmlDeclHandler.internalEntityDecl( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.notationDecl (self, QString name, QString publicId, QString systemId)
从重新实现QXmlDTDHandler.notationDecl( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.processingInstruction (self, QString target, QString data)
从重新实现QXmlContentHandler.processingInstruction( ) 。
这个重新实现不执行任何操作。
(bool, QXmlInputSource ret) QXmlDefaultHandler.resolveEntity (self, QString publicId, QString systemId)
从重新实现QXmlEntityResolver.resolveEntity( ) 。
Sets ret为0,从而使读取器使用的XML文件中提供的系统标识符。
QXmlDefaultHandler.setDocumentLocator (self, QXmlLocator locator)
从重新实现QXmlContentHandler.setDocumentLocator( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.skippedEntity (self, QString name)
从重新实现QXmlContentHandler.skippedEntity( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.startCDATA (self)
从重新实现QXmlLexicalHandler.startCDATA( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.startDocument (self)
从重新实现QXmlContentHandler.startDocument( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.startDTD (self, QString name, QString publicId, QString systemId)
从重新实现QXmlLexicalHandler.startDTD( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.startElement (self, QString namespaceURI, QString localName, QString qName, QXmlAttributes atts)
从重新实现QXmlContentHandler.startElement( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.startEntity (self, QString name)
从重新实现QXmlLexicalHandler.startEntity( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.startPrefixMapping (self, QString prefix, QString uri)
从重新实现QXmlContentHandler.startPrefixMapping( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.unparsedEntityDecl (self, QString name, QString publicId, QString systemId, QString notationName)
从重新实现QXmlDTDHandler.unparsedEntityDecl( ) 。
这个重新实现不执行任何操作。
bool QXmlDefaultHandler.warning (self, QXmlParseException exception)
从重新实现QXmlErrorHandler.warning( ) 。
这个重新实现不执行任何操作。