QXmlEntityResolver 类
QXmlEntityResolver 类提供了一个解决 XML 数据中包含的外部实体的接口。更多信息...
头文件 | #include <QXmlEntityResolver> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Core5Compat) target_link_libraries(mytarget PRIVATE Qt6::Core5Compat) |
qmake | QT += core5compat |
继承自 |
注意:此类中所有函数都是可重入的。
公共函数
虚拟 | ~QXmlEntityResolver() |
虚拟 QString | errorString() const = 0 |
虚拟 bool | resolveEntity(const QString &publicId, const QString &systemId, QXmlInputSource *&ret) = 0 |
详细信息
如果一个应用程序需要实现对外部实体进行自定义处理的逻辑,则必须实现此接口,即resolveEntity(),并将其与QXmlReader::setEntityResolver()注册。
另请参阅QXmlDTDHandler,QXmlDeclHandler,QXmlContentHandler,QXmlErrorHandler和QXmlLexicalHandler。
成员函数文档
[virtual noexcept]
QXmlEntityResolver::~QXmlEntityResolver()
销毁实体解析器。
[pure virtual]
QString QXmlEntityResolver::errorString() const
如果处理函数返回 false,则读取器将调用此函数来获取错误字符串。
[pure virtual]
bool QXmlEntityResolver::resolveEntity(const QString &publicId, const QString &systemId, QXmlInputSource *&ret)
在读取器打开除顶层文档实体以外的任何外部实体之前,将调用此函数。应用程序可以请求读取器自己解决实体(ret 为 0)或使用不同的输入源(ret 指向输入源)。
当读取器不再需要输入源 ret 时,它将删除该输入源,因此您应该使用 new 分配堆。
参数publicId是外部实体的公共标识符,systemId是外部实体的系统标识符,ret是该函数的返回值。如果ret为0,则读取器应自行解析实体;如果它非零,则必须指向一个输入源,读取器将使用该源代替。
如果此函数返回false
,则读取器将停止解析并报告错误。读取器使用errorString()函数来获取错误信息。
© 2024 The Qt Company Ltd. 本文档中的文档贡献版权属于各自的拥有者。提供的文档根据自由软件基金会发布的