- class QDomImplementation#
QDomImplementation
类提供有关 DOM 实现功能的信息。更多…概述#
方法#
def
__init__()
def
createDocument()
def
hasFeature()
def
isNull()
def
__ne__()
定义
__eq__()
静态函数#
说明
本文档可能包含自动从C++翻译到Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译中存在问题,您可以通过在https:/bugreports.qt.io/projects/PYSIDE 创建票证来让我们知道。
详细描述#
此类描述了DOM实现支持的功能。目前支持DOM Level 1和DOM Level 2 Core的XML子集。
通常,您将使用函数
implementation()
获取实现对象。您可以使用
createDocumentType()
创建一个新的文档类型,并使用createDocument()
创建一个新的文档。有关文档对象模型(DOM)的更多信息,请参阅 Level 1 和 Level 2 Core。有关DOM实现的更一般介绍,请参阅
QDomDocument
文档。由于Qt 4无法在不破坏向后兼容性的情况下修复与XML规范的几个不一致问题,QDom类存在这些问题。Qt XML模式模块和QXmlStreamReader和QXmlStreamWriter类具有更高程度的一致性。
另请参阅
- class InvalidDataPolicy#
此枚举指定在调用
QDomDocument
的工厂函数时遇到无效数据时应该执行什么操作。常量
描述
QDomImplementation.AcceptInvalidChars
无论如何应将数据存储在DOM对象中。在这种情况下,生成的XML文档可能不是良好格式化的。这是默认值,也是Qt < 4.1中QDom的行为。
QDomImplementation.DropInvalidChars
应从数据中删除无效字符。
QDomImplementation.ReturnNullNode
工厂函数应返回一个空节点。
- __init__()#
构造一个
QDomImplementation
对象。- __init__(arg__1)
- 参数::
arg__1 –
QDomImplementation
创建一个
x
的副本。- createDocument(nsURI, qName, doctype)#
- 参数::
nsURI – 字符串(str)
qName – 字符串(str)
doctype –
QDomDocumentType
- 返回类型::
创建一个具有文档类型
doctype
的 DOM 文档。此函数还会添加一个具有限定名称qName
和命名空间 URInsURI
的根元素节点。- createDocumentType(qName, publicId, systemId)#
- 参数::
qName – 字符串(str)
publicId – 字符串(str)
systemId – 字符串(str)
- 返回类型::
为名称
qName
创建一个文档类型节点。publicId
指定了外部子集的公共标识符。如果您将publicId
作为空字符串(QString())指定,这表示该文档类型没有公共标识符。systemId
指定了外部子集的系统标识符。如果您将systemId
作为空字符串指定,这表示该文档类型没有系统标识符。由于没有系统标识符就不能有公共标识符,如果没有系统标识符,公共标识符将设置为空字符串。
DOM 2 级别不支持任何其他文档类型声明功能。
唯一可以使用此方式创建的文档类型的方式是与
createDocument()
函数结合,以创建具有该文档类型的QDomDocument
。在 DOM 规范中,这是创建非空文档的唯一方法。出于历史原因,Qt 还允许使用默认的空构造函数创建文档。创建的文档是空的,但在调用工厂函数(例如
createElement()
)后变为非空。当调用 setContent() 时,文档也变为非空。另请参阅
- hasFeature(feature, version)#
- 参数::
feature – 字符串(str)
version – 字符串(str)
- 返回类型::
布尔值(bool)
该函数如果QDom实现了请求的
version
版本的feature
则返回true
;否则返回false
。当前支持的特征及其版本
特征
版本
XML
1.0
- static invalidDataPolicy()#
- 返回类型::
返回无效数据策略,指定当将无效数据传递到
QDomDocument
的工厂函数时应做什么。- isNull()#
- 返回类型::
布尔值(bool)
如果该对象是由
implementation()
创建的,则返回false
;否则返回true
。- __ne__(arg__1)#
- 参数::
arg__1 –
QDomImplementation
- 返回类型::
布尔值(bool)
如果x和这个DOM实现对象是从不同的QDomDocuments创建的,则返回
true
;否则返回false
。- __eq__(arg__1)#
- 参数::
arg__1 –
QDomImplementation
- 返回类型::
布尔值(bool)
如果x和这个DOM实现对象是从同一个
QDomDocument
创建的,则返回true
;否则返回false
。- static setInvalidDataPolicy(policy)#
- 参数::
策略 –
InvalidDataPolicy
警告
本节包含自动从C++转换为Python的代码片段,可能包含错误。
设置无效数据策略,指定当将无效数据传递到
QDomDocument
的工厂函数时应做什么。为所有已存在和未来创建的
QDomDocument
实例设置了policy
。def XML_snippet_main(): doc = QDomDocument() impl = QDomImplementation() # 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) elt1 = doc.createElement("foo~bar") # This will create an element with the tag name "foobar". impl.setInvalidDataPolicy(QDomImplementation.DropInvalidChars) elt2 = doc.createElement("foo~bar") # This will create a null element. impl.setInvalidDataPolicy(QDomImplementation.ReturnNullNode) elt3 = doc.createElement("foo~bar")