QXmlReader Class
The QXmlReader class provides an interface for XML readers (i.e. parsers). 更多...
头文件: | #include <QXmlReader> |
qmake: | QT += xml |
派生类: |
Note: All functions in this class are reentrant.
公有函数
virtual | ~QXmlReader() |
virtual QXmlDTDHandler * | DTDHandler() const = 0 |
virtual QXmlContentHandler * | contentHandler() const = 0 |
virtual QXmlDeclHandler * | declHandler() const = 0 |
virtual QXmlEntityResolver * | entityResolver() const = 0 |
virtual QXmlErrorHandler * | errorHandler() const = 0 |
virtual bool | feature(const QString &name, bool *ok = Q_NULLPTR) const = 0 |
virtual bool | hasFeature(const QString &name) const = 0 |
virtual bool | hasProperty(const QString &name) const = 0 |
virtual QXmlLexicalHandler * | lexicalHandler() const = 0 |
virtual bool | parse(const QXmlInputSource *input) = 0 |
virtual void * | property(const QString &name, bool *ok = Q_NULLPTR) const = 0 |
virtual void | setContentHandler(QXmlContentHandler *handler) = 0 |
virtual void | setDTDHandler(QXmlDTDHandler *handler) = 0 |
virtual void | setDeclHandler(QXmlDeclHandler *handler) = 0 |
virtual void | setEntityResolver(QXmlEntityResolver *handler) = 0 |
virtual void | setErrorHandler(QXmlErrorHandler *handler) = 0 |
virtual void | setFeature(const QString &name, bool value) = 0 |
virtual void | setLexicalHandler(QXmlLexicalHandler *handler) = 0 |
virtual void | setProperty(const QString &name, void *value) = 0 |
详细描述
The QXmlReader class provides an interface for XML readers (i.e. parsers).
This abstract class provides an interface for all of Qt's XML readers. Currently there is only one implementation of a reader included in Qt's XML module: QXmlSimpleReader. In future releases there might be more readers with different properties available (e.g. a validating parser).
The design of the XML classes follows the SAX2 Java interface, with the names adapted to fit Qt naming conventions. It should be very easy for anybody who has worked with SAX2 to get started with the Qt XML classes.
All readers use the class QXmlInputSource to read the input document. Since you are normally interested in particular content in the XML document, the reader reports the content through special handler classes (QXmlDTDHandler, QXmlDeclHandler, QXmlContentHandler, QXmlEntityResolver, QXmlErrorHandler and QXmlLexicalHandler), which you must subclass, if you want to process the contents.
Since the handler classes only describe interfaces you must implement all the functions. We provide the QXmlDefaultHandler class to make this easier: it implements a default behavior (do nothing) for all functions, so you can subclass it and just implement the functions you are interested in.
Features and properties of the reader can be set with setFeature() and setProperty() respectively. You can set the reader to use your own subclasses with setEntityResolver(), setDTDHandler(), setContentHandler(), setErrorHandler(), setLexicalHandler() and setDeclHandler(). The parse itself is started with a call to parse().
参见 QXmlSimpleReader.
成员函数
[virtual]
QXmlReader::~QXmlReader()
Destroys the reader.
[pure virtual]
QXmlDTDHandler *QXmlReader::DTDHandler() const
Returns the DTD handler or 0 if none was set.
参见 setDTDHandler().
[pure virtual]
QXmlContentHandler *QXmlReader::contentHandler() const
Returns the content handler or 0 if none was set.
参见 setContentHandler().
[pure virtual]
QXmlDeclHandler *QXmlReader::declHandler() const
Returns the declaration handler or 0 if none was set.
参见 setDeclHandler().
[pure virtual]
QXmlEntityResolver *QXmlReader::entityResolver() const
Returns the entity resolver or 0 if none was set.
参见 setEntityResolver().
[pure virtual]
QXmlErrorHandler *QXmlReader::errorHandler() const
Returns the error handler or 0 if none is set.
参见 setErrorHandler().
[pure virtual]
bool QXmlReader::feature(const QString &name, bool *ok = Q_NULLPTR) const
If the reader has the feature called name, the feature's value is returned. If no such feature exists the return value is undefined.
If ok is not 0: *
ok is set to true if the reader has the feature called name; otherwise *
ok is set to false.
参见 setFeature() and hasFeature().
[pure virtual]
bool QXmlReader::hasFeature(const QString &name) const
Returns true
if the reader has the feature called name; otherwise returns false
.
参见 feature() and setFeature().
[pure virtual]
bool QXmlReader::hasProperty(const QString &name) const
Returns true
if the reader has the property name; otherwise returns false
.
参见 property() and setProperty().
[pure virtual]
QXmlLexicalHandler *QXmlReader::lexicalHandler() const
Returns the lexical handler or 0 if none was set.
参见 setLexicalHandler().
[pure virtual]
bool QXmlReader::parse(const QXmlInputSource *input)
Reads an XML document from input and parses it. Returns true
if the parsing was successful; otherwise returns false
.
[pure virtual]
void *QXmlReader::property(const QString &name, bool *ok = Q_NULLPTR) const
If the reader has the property name, this function returns the value of the property; otherwise the return value is undefined.
If ok is not 0: if the reader has the name property *
ok is set to true; otherwise *
ok is set to false.
参见 setProperty() and hasProperty().
[pure virtual]
void QXmlReader::setContentHandler(QXmlContentHandler *handler)
Sets the content handler to handler.
参见 contentHandler().
[pure virtual]
void QXmlReader::setDTDHandler(QXmlDTDHandler *handler)
Sets the DTD handler to handler.
参见 DTDHandler().
[pure virtual]
void QXmlReader::setDeclHandler(QXmlDeclHandler *handler)
Sets the declaration handler to handler.
参见 declHandler().
[pure virtual]
void QXmlReader::setEntityResolver(QXmlEntityResolver *handler)
Sets the entity resolver to handler.
参见 entityResolver().
[pure virtual]
void QXmlReader::setErrorHandler(QXmlErrorHandler *handler)
Sets the error handler to handler. Clears the error handler if handler is 0.
参见 errorHandler().
[pure virtual]
void QXmlReader::setFeature(const QString &name, bool value)
Sets the feature called name to the given value. If the reader doesn't have the feature nothing happens.
参见 feature() and hasFeature().
[pure virtual]
void QXmlReader::setLexicalHandler(QXmlLexicalHandler *handler)
Sets the lexical handler to handler.
参见 lexicalHandler().
[pure virtual]
void QXmlReader::setProperty(const QString &name, void *value)
Sets the property name to value. If the reader doesn't have the property nothing happens.
参见 property() and hasProperty().