QDomDocument 的过时成员函数

以下 QDomDocument 类的成员函数已被弃用。 它们被提供以保持旧源代码的正常工作。我们强烈建议不要在新代码中使用它们。

公有函数

(在 6.8 版中已弃用) boolsetContent(const QByteArray &data, bool namespaceProcessing, QString *errorMsg = nullptr, int *errorLine = nullptr, int *errorColumn = nullptr)
(在 6.8 版中已弃用) boolsetContent(const QString &text, bool namespaceProcessing, QString *errorMsg = nullptr, int *errorLine = nullptr, int *errorColumn = nullptr)
(在 6.8 版中已弃用) boolsetContent(QIODevice *dev, bool namespaceProcessing, QString *errorMsg = nullptr, int *errorLine = nullptr, int *errorColumn = nullptr)
(在 6.8 版中已弃用) boolsetContent(const QByteArray &buffer, QString *errorMsg, int *errorLine = nullptr, int *errorColumn = nullptr)
(在 6.8 版中已弃用) boolsetContent(const QString &text, QString *errorMsg, int *errorLine = nullptr, int *errorColumn = nullptr)
(在 6.8 版中已弃用) boolsetContent(QIODevice *dev, QString *errorMsg, int *errorLine = nullptr, int *errorColumn = nullptr)
(在 6.8 版中已弃用) boolsetContent(QXmlStreamReader *reader, bool namespaceProcessing, QString *errorMsg = nullptr, int *errorLine = nullptr, int *errorColumn = nullptr)

成员函数说明

[在 6.8 版中已弃用] bool QDomDocument::setContent(const QByteArray &data, bool namespaceProcessing, QString *errorMsg = nullptr, int *errorLine = nullptr, int *errorColumn = nullptr)

此函数自 6.8 版起已弃用。我们强烈建议不要在新代码中使用它。

请使用带 ParseOptions 的重载函数。

这是一个重载函数。

该函数从字节数组 data 解析 XML 文档并将其设置为文档的内容。尝试检测 XML 文档所需的编码。

如果 namespaceProcessing 为真,解析器识别 XML 文件中的命名空间,并将前缀名称、本地名称和命名空间 URI 设置为适当的值。如果 namespaceProcessing 为假,解析器在读取 XML 文件时不会进行命名空间处理。

如果出现解析错误,此函数返回 false,并将错误消息置于 *errorMsg 中,将行列号置于 ** 中(除非相关指针设置为 nullptr);否则,此函数返回 true

如果 namespaceProcessing 为 true,则函数 QDomNode::prefix() 返回所有元素和属性的字符串。如果元素或属性没有前缀,则返回空字符串。

仅由空白字符组成的文本节点将被移除,不会出现在 QDomDocument 中。

如果 namespaceProcessing 为 false,函数 QDomNode::prefix()、QDomNode::localName() 和 QDomNode::namespaceURI() 将返回空字符串。

处理实体引用的方式如下:

  • 包括在内容中出现的内容部分内部通用实体和字符实体的引用。结果是使用相应的实体值替换引用的 QDomText 节点。
  • 包括在内部子集出现的参数实体的引用。结果是包含实体和符号声明的 QDomDocumentType 节点,引用被相应的实体值替换。
  • 任何在内容中出现的并在内部子集未定义的通用解析实体引用表示为 QDomEntityReference 节点。
  • 任何在内容外出现且在内部子集未定义的解析实体引用将被替换为空字符串。
  • 任何未解析的实体引用将被替换为空字符串。

另请参阅 QDomNode::namespaceURI()、QDomNode::localName()、QDomNode::prefix()、QString::isNull() 和 QString::isEmpty

[自 6.8 版本弃用] bool QDomDocument::setContent(const QString &text, bool namespaceProcessing, QString *errorMsg = nullptr, int *errorLine = nullptr, int *errorColumn = nullptr)

此函数自 6.8 版起已弃用。我们强烈建议不要在新代码中使用它。

这是一个重载函数。

请使用接受 ParseOptions 的重载。

此函数从字符串 text 中读取 XML 文档,如果内容成功解析,则返回 true;否则返回 false。由于 text 已经是 Unicode 字符串,因此不会进行编码检测。

[自 6.8 版本弃用] bool QDomDocument::setContent(QIODevice *dev, bool namespaceProcessing, QString *errorMsg = nullptr, int *errorLine = nullptr, int *errorColumn = nullptr)

此函数自 6.8 版起已弃用。我们强烈建议不要在新代码中使用它。

这是一个重载函数。

请使用带 ParseOptions 的重载函数。

此函数从 IO 设备 dev 中读取 XML 文档,如果内容成功解析,则返回 true;否则返回 false

注意:如果 dev 未已打开,则此方法将尝试以只读模式打开它。在这种情况下,调用者负责调用 close。在 Qt 7 中,此行为将会有所改变,它将不再打开 dev。因此,应用程序应在调用 setContent 之前自己打开设备。

[自 6.8 版本弃用] bool QDomDocument::setContent(const QByteArray &buffer, QString *errorMsg, int *errorLine = nullptr, int *errorColumn = nullptr)

此函数自 6.8 版起已弃用。我们强烈建议不要在新代码中使用它。

这是一个重载函数。

请使用返回 ParseResult 的重载。

该函数从字节数组buffer中读取XML文档,如果内容成功解析,则返回true;否则返回false。

不执行命名空间处理。

此函数自 6.8 版起已弃用。我们强烈建议不要在新代码中使用它。

这是一个重载函数。

请使用返回 ParseResult 的重载。

此函数从字符串text中读取XML文档,如果内容成功解析,则返回true;否则返回false。由于text已经是Unicode字符串,因此不执行编码检测。

同样也不进行命名空间处理。

此函数自 6.8 版起已弃用。我们强烈建议不要在新代码中使用它。

这是一个重载函数。

请使用返回 ParseResult 的重载。

此函数从 IO 设备 dev 中读取 XML 文档,如果内容成功解析,则返回 true;否则返回 false

不执行命名空间处理。

此函数自 6.8 版起已弃用。我们强烈建议不要在新代码中使用它。

这是一个重载函数。

请使用带 ParseOptions 的重载函数。

此函数从QXmlStreamReader reader中读取XML文档并解析它。如果内容成功解析,则返回true;否则返回false

如果namespaceProcessingtrue,解析器会识别XML文件中的命名空间,并将前缀名称、局部名称和命名空间URI设置为适当的值。如果namespaceProcessingfalse,则在解析XML文件时,解析器不执行命名空间处理。

如果发生解析错误,错误消息将放入*errorMsg中,行号在*errorLine中,列号在*errorColumn中(除非相关的指针设置为nullptr)。

另请参阅QXmlStreamReader

© 2024 The Qt Company Ltd. 文档贡献者的版权属于他们各自的所有者。此处提供的文档是根据Free Software Foundation发布的GNU自由文档许可证版本1.3的条款许可的。Qt和相应的徽标是The Qt Company Ltd.在芬兰和其他国家的商标。所有其他商标均为各自所有者的财产。