QXmlEntityResolver 类提供用于解析 XML 数据包含外部实体的接口。 更多...
头: | #include <QXmlEntityResolver> |
CMake: |
find_package(Qt6 COMPONENTS Core5Compat REQUIRED)
target_link_libraries(mytarget PRIVATE Qt6::Core5Compat) |
qmake: | QT += core5compat |
继承者: | QXmlDefaultHandler |
注意: 此类的所有函数 可重入 .
virtual | ~QXmlEntityResolver () |
virtual QString | errorString () const = 0 |
virtual bool | resolveEntity (const QString & publicId , const QString & systemId , QXmlInputSource *& ret ) = 0 |
If an application needs to implement customized handling for external entities, it must implement this interface, i.e. resolveEntity (), and register it with QXmlReader::setEntityResolver ().
另请参阅 QXmlDTDHandler , QXmlDeclHandler , QXmlContentHandler , QXmlErrorHandler ,和 QXmlLexicalHandler .
[virtual]
QXmlEntityResolver::
~QXmlEntityResolver
()
销毁实体解析器。
[pure virtual]
QString
QXmlEntityResolver::
errorString
() const
The reader calls this function to get an error string if any of the handler functions returns
false
.
[pure virtual]
bool
QXmlEntityResolver::
resolveEntity
(const
QString
&
publicId
, const
QString
&
systemId
,
QXmlInputSource
*&
ret
)
The reader calls this function before it opens any external entity, except the top-level document entity. The application may request the reader to resolve the entity itself ( ret is 0) or to use an entirely different input source ( ret points to the input source).
The reader deletes the input source
ret
when it no longer needs it, so you should allocate it on the heap with
new
.
自变量 publicId is the public identifier of the external entity, systemId is the system identifier of the external entity and ret is the return value of this function. If ret is 0 the reader should resolve the entity itself, if it is non-zero it must point to an input source which the reader uses instead.
若此函数返回
false
the reader stops parsing and reports an error. The reader uses the function
errorString
() to get the error message.