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