QXmlEntityResolver 类

QXmlEntityResolver 类提供了一个解决 XML 数据中包含的外部实体的接口。更多信息...

头文件 #include <QXmlEntityResolver>
CMakefind_package(Qt6 REQUIRED COMPONENTS Core5Compat)
target_link_libraries(mytarget PRIVATE Qt6::Core5Compat)
qmakeQT += core5compat
继承自

QXmlDefaultHandler

注意:此类中所有函数都是可重入的

公共函数

虚拟~QXmlEntityResolver()
虚拟 QStringerrorString() const = 0
虚拟 boolresolveEntity(const QString &publicId, const QString &systemId, QXmlInputSource *&ret) = 0

详细信息

如果一个应用程序需要实现对外部实体进行自定义处理的逻辑,则必须实现此接口,即resolveEntity(),并将其与QXmlReader::setEntityResolver()注册。

另请参阅QXmlDTDHandlerQXmlDeclHandlerQXmlContentHandlerQXmlErrorHandlerQXmlLexicalHandler

成员函数文档

[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. 本文档中的文档贡献版权属于各自的拥有者。提供的文档根据自由软件基金会发布的GNU自由文档许可证版本1.3的条款进行许可。Qt和相应的标志是芬兰及/或世界其他国家的The Qt Company Ltd.的商标。所有其他商标均归其各自的所有者所有。