Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QXmlDefaultHandler Class Reference
[QtXml module]

该QXmlDefaultHandler类提供了所有的XML处理程序类的默认实现。More...

继承QXmlContentHandlerQXmlErrorHandlerQXmlDTDHandlerQXmlEntityResolverQXmlLexicalHandlerQXmlDeclHandler

Methods


Detailed Description

该QXmlDefaultHandler类提供了所有的XML处理程序类的默认实现。

这个类聚拢专门的处理程序类的功能,实现自定义处理程序的子类时,使其成为一个方便的起点QXmlReader,特别是QXmlSimpleReader。从每一个基类的虚函数重新实现这个类,对于很多常见情况提供合理的默认行为。通过继承这个类,并重写这些功能,你可以专注于实现应用程序相关的处理程序的各个部分。

XML读取器必须被告知在分析过程中使用的不同种类的事件的处理程序。这意味着,虽然QXmlDefaultHandler提供的所有基类继承的函数的默认实现,我们仍然可以使用专门的处理程序为特定类型的事件。

例如, QXmlDefaultHandler两个子类QXmlContentHandlerQXmlErrorHandler,所以通过继承它,我们可以使用相同的处理器为以下两个读卡器功能:

     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( ) 。

这个重新实现不执行任何操作。




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5