QDomImplementation 类
QDomImplementation 类提供有关 DOM 实现的功能信息。 更多...
头文件 | #include <QDomImplementation> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Xml) target_link_libraries(mytarget PRIVATE Qt6::Xml) |
qmake | QT += xml |
- 所有成员列表,包括继承的成员
- QDomImplementation 是 XML 类 的一部分。
注意:此类中所有函数都是可重入的,以下函数除外
- invalidDataPolicy()
- setInvalidDataPolicy(QDomImplementation::InvalidDataPolicy policy)
公共类型
枚举 | InvalidDataPolicy { AcceptInvalidChars, DropInvalidChars, ReturnNullNode } |
公共函数
QDomImplementation() | |
QDomImplementation(const QDomImplementation &x) | |
~QDomImplementation() | |
QDomDocument | createDocument(const QString &nsURI, const QString &qName, const QDomDocumentType &doctype) |
QDomDocumentType | createDocumentType(const QString &qName, const QString &publicId, const QString &systemId) |
bool | hasFeature(const QString &feature, const QString &version) const |
bool | isNull() |
bool | operator!=(const QDomImplementation &x) const |
QDomImplementation & | operator=(const QDomImplementation &x) |
bool | operator==(const QDomImplementation &x) const |
静态公共成员
QDomImplementation::InvalidDataPolicy | invalidDataPolicy() |
void | setInvalidDataPolicy(QDomImplementation::InvalidDataPolicy policy) |
详细描述
此类描述了 DOM 实现支持的功能。目前支持 DOM Level 1 和 DOM Level 2 Core 的 XML 子集。
通常您会使用函数 QDomDocument::implementation() 来获取实现对象。
您可以使用 createDocumentType() 创建一个新的文档类型,使用 createDocument() 创建一个新的文档。
有关文档对象模型的更多信息,请参阅 Level 1 和 Level 2 Core。更全面的 DOM 实现介绍,请参阅 QDomDocument 文档。
QDom类与XML规范存在一些不兼容问题,这些问题的修正将导致与Qt 4的向下不兼容。Qt XML模式模块以及QXmlStreamReader和QXmlStreamWriter类在兼容性上有一个更高的程度。
另请参阅 hasFeature()。
成员类型文档
enum QDomImplementation::InvalidDataPolicy
此枚举定义了在QDomDocument中的工厂函数被调用时,遇到无效数据应该采取的措施。
常量 | 值 | 描述 |
---|---|---|
QDomImplementation::AcceptInvalidChars | 0 | 即使如此,也应在DOM对象中存储数据。在这种情况下,生成的XML文档可能格式不好。这是默认值,且在Qt < 4.1中的QDom行为。 |
QDomImplementation::DropInvalidChars | 1 | 应从数据中删除无效字符。 |
QDomImplementation::ReturnNullNode | 2 | 工厂函数应返回一个空节点。 |
成员函数文档
QDomImplementation::QDomImplementation()
生成一个QDomImplementation对象。
QDomImplementation::QDomImplementation(const QDomImplementation &x)
创建一个
[不支持异常]
QDomImplementation::~QDomImplementation()
销毁对象并释放其资源。
QDomDocument QDomImplementation::createDocument(const QString &nsURI, const QString &qName, const QDomDocumentType &doctype)
创建具有doctype的类型的DOM文档。此函数还添加了一个具有限定名qName和命名空间URInsURI的根元素节点。
QDomDocumentType QDomImplementation::createDocumentType(const QString &qName, const QString &publicId, const QString &systemId)
为名称qName创建一个文档类型节点。
publicId指定了外部部分的公共标识符。如果您指定一个空的字符串(QString())作为publicId,这意味着文档类型没有公共标识符。
systemId指定了外部部分的系统标识符。如果您指定一个空字符串作为systemId,这意味着文档类型没有系统标识符。
由于没有系统标识符您不能有公共标识符,在没有系统标识符的情况下,公共标识符被设置为空字符串。
DOM 2级别不支持任何其他文档类型声明功能。
您只能通过使用此方法创建的文档类型与createDocument()函数结合,来创建具有此文档类型的QDomDocument。
在DOM规范中,这是唯一创建非空文档的方法。出于历史原因,Qt还允许使用默认空构造函数创建文档。生成的文档为空值,但在调用如QDomDocument::createElement()() 等工厂函数后变为非空值。当调用setContent()时,文档也会变为非空值。
另请参阅createDocument()。
bool QDomImplementation::hasFeature(const QString &feature, const QString &version) const
该函数返回 inhabitants 是否实现了请求的 版本 的 功能;否则返回 false
。
当前支持的功能及其版本
功能 | 版本 |
---|---|
XML | 1.0 |
[静态]
QDomImplementation::InvalidDataPolicy QDomImplementation::invalidDataPolicy()
返回无效数据策略,指定在将无效数据传递给QDomDocument中的工厂函数时应该执行的操作。
警告:此函数不是可重入的。
另请参阅setInvalidDataPolicy() 和 InvalidDataPolicy。
bool QDomImplementation::isNull()
如果没有通过 QDomDocument::implementation() 创建对象,则返回 false
;否则返回 true
。
[静态]
void QDomImplementation::setInvalidDataPolicy(QDomImplementation::InvalidDataPolicy policy)
设置无效数据策略,指定将无效数据传递给QDomDocument中的工厂函数时应该执行的操作。
此策略将适用于所有已存在的QDomDocument实例以及将来创建的实例。
void XML_snippet_main() { QDomDocument doc; QDomImplementation impl; // This will create the element, but the resulting XML document will // be invalid, because '~' is not a valid character in a tag name. impl.setInvalidDataPolicy(QDomImplementation::AcceptInvalidChars); QDomElement elt1 = doc.createElement("foo~bar"); // This will create an element with the tag name "foobar". impl.setInvalidDataPolicy(QDomImplementation::DropInvalidChars); QDomElement elt2 = doc.createElement("foo~bar"); // This will create a null element. impl.setInvalidDataPolicy(QDomImplementation::ReturnNullNode); QDomElement elt3 = doc.createElement("foo~bar"); }
警告:此函数不是可重入的。
另请参阅invalidDataPolicy() 和 InvalidDataPolicy。
bool QDomImplementation::operator!=(const QDomImplementation &x) const
如果 x 和 DOM实现对象是从不同的QDomDocument创建的,则返回 true
;否则返回 false
。
QDomImplementation &QDomImplementation::operator=(const QDomImplementation &x)
将 x 分配给这个DOM实现。
bool QDomImplementation::operator==(const QDomImplementation &x) const
如果 x 和 DOM实现对象是从相同的QDomDocument创建的,则返回 true
;否则返回 false
。
© 2024 The Qt Company Ltd. 本文件中包含的文档贡献是各自所有者的版权。本文件提供的文档是根据自由软件基金会发布的GNU自由文档许可协议(FDL)1.3版许可的使用。Qt及其相关标志是The Qt Company Ltd.在芬兰以及世界其他国家的商标。所有其他商标均为其各自所有者所有。