PySide6.QtXml.QDomElement¶
- class QDomElement¶
QDomElement类表示 DOM 树中的一个元素。更多…概要¶
方法¶
def
__init__()def
attribute()def
attributeNS()def
attributeNode()def
hasAttribute()def
hasAttributeNS()def
setAttribute()def
setAttributeNS()def
setTagName()def
tagName()def
text()
注意
本文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译问题,您也可以通过在我们的https:/bugreports.qt.io/projects/PYSIDE上创建工单来告知我们。
详细描述¶
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
元素有一个
tagName()和零个或多个与之关联的属性。标签名称可以通过setTagName()来更改。元素属性由
QDomAttr对象表示,可以使用attribute()和attributeNode()函数进行查询。您可以使用setAttribute()和setAttributeNode()函数设置属性。可以使用removeAttribute()删除属性。这些函数有命名空间感知的等效函数,即setAttributeNS()、setAttributeNodeNS()和removeAttributeNS()。如果你想访问节点的文本,请使用
text(),例如。e = //... #... s = e.text()
text()函数递归地查找文本(因为并非所有元素都包含文本)。如果你想查找节点所有子节点中的所有文本,可以遍历子节点寻找QDomText节点,例如:text = QString() element = doc.documentElement() for(QDomNode n = element.firstChild(); not n.isNull(); n = n.nextSibling()) t = n.toText() if not t.isNull(): text += t.data()
请注意,我们尝试将每个节点转换为文本节点并使用
text(),而不是直接使用firstChild()。toText().data() 或 n.toText().data() 直接在节点上,因为该节点可能不是文本元素。你可以使用
elementsByTagName()或elementsByTagNameNS()获取具有指定标签名称的元素的所有后代列表。要浏览DOM文档的元素,请使用
firstChildElement()、lastChildElement()、nextSiblingElement()和previousSiblingElement()。例如,要遍历名为“database”的根元素中所有名为“entry”的子元素,您可以使用:doc = // ... root = doc.firstChildElement("database") elt = root.firstChildElement("entry") for (; not elt.isNull(); elt = elt.nextSiblingElement("entry")) { # ...
有关文档对象模型的更多信息,请参阅Level 1和Level 2 Core。有关DOM实现的更一般介绍,请参阅
QDomDocument文档。- __init__()¶
构造一个空元素。使用
createElement()函数来构造带有内容的元素。- __init__(element)
- Parameters:
元素 –
QDomElement
构造
element的副本。复制的数据是共享的(浅拷贝):修改一个节点也会改变另一个。如果你想进行深拷贝,请使用
cloneNode()。- attribute(name[, defValue=""])¶
- Parameters:
name – str
defValue – str
- Return type:
字符串
返回名为
name的属性。如果该属性不存在,则返回defValue。- attributeNS(nsURI, localName[, defValue=""])¶
- Parameters:
nsURI – str
localName – str
defValue – str
- Return type:
字符串
返回具有本地名称
localName和命名空间 URInsURI的属性。如果该属性不存在,则返回defValue。返回与名为
name的属性对应的QDomAttr对象。如果不存在这样的属性,则返回null attribute。返回与本地名称
localName和命名空间URInsURI对应的QDomAttr对象。如果不存在这样的属性,则返回null attribute。- elementsByTagName(tagname)¶
- Parameters:
tagname – str
- Return type:
返回一个
QDomNodeList,其中包含在以该元素为根的子树的前序遍历中遇到的所有名为tagname的后代元素。返回列表中的元素顺序是它们在前序遍历中遇到的顺序。- elementsByTagNameNS(nsURI, localName)¶
- Parameters:
nsURI – str
localName – str
- Return type:
返回一个
QDomNodeList,包含在以该元素为根的子树的前序遍历中遇到的所有具有本地名称localName和命名空间URInsURI的后代元素。返回列表中的元素顺序是它们在前序遍历中遇到的顺序。- hasAttribute(name)¶
- Parameters:
name – str
- Return type:
布尔
如果此元素具有名为
name的属性,则返回true;否则返回false。注意
此函数不考虑命名空间的存在。因此,指定的名称将与包含可能存在的任何命名空间前缀的完全限定属性名称进行测试。
使用
hasAttributeNS()来显式测试具有特定命名空间和名称的属性。- hasAttributeNS(nsURI, localName)¶
- Parameters:
nsURI – str
localName – str
- Return type:
布尔
如果此元素具有本地名称为
localName且命名空间 URI 为nsURI的属性,则返回true;否则返回 false。- removeAttribute(name)¶
- Parameters:
name – str
从该元素中移除名为
name的属性。- removeAttributeNS(nsURI, localName)¶
- Parameters:
nsURI – str
localName – str
从此元素中移除具有本地名称
localName和命名空间 URInsURI的属性。从元素中移除属性
oldAttr并返回它。- setAttribute(name, value)¶
- Parameters:
name – str
value – str
添加一个名为
name的属性,其值为value。如果已存在同名的属性,其值将被value替换。- setAttribute(name, value)
- Parameters:
name – str
value – 浮点数
这是一个重载函数。
格式化始终使用QLocale::C。
- setAttribute(name, value)
- Parameters:
name – str
value – int
这是一个重载函数。
格式化始终使用QLocale::C。
- setAttributeNS(nsURI, qName, value)¶
- Parameters:
nsURI – str
qName – str
value – str
添加一个具有限定名称
qName和命名空间URInsURI的属性,其值为value。如果存在具有相同本地名称和命名空间URI的属性,则其前缀将被qName的前缀替换,其值将被value替换。尽管
qName是限定名称,但本地名称用于决定是否应替换现有属性的值。- setAttributeNS(nsURI, qName, value)
- Parameters:
nsURI – str
qName – str
value – 浮点数
这是一个重载函数。
- setAttributeNS(nsURI, qName, value)
- Parameters:
nsURI – str
qName – str
value – int
这是一个重载函数。
- setAttributeNS(nsURI, qName, value)
- Parameters:
nsURI – str
qName – str
value – int
这是一个重载函数。
- setAttributeNS(nsURI, qName, value)
- Parameters:
nsURI – str
qName – str
value – int
这是一个重载函数。
- setAttributeNS(nsURI, qName, value)
- Parameters:
nsURI – str
qName – str
value – int
这是一个重载函数。
向此元素添加属性
newAttr。如果元素有另一个属性与
newAttr同名,此函数将替换该属性并返回它;否则函数返回一个null attribute。向此元素添加属性
newAttr。如果元素具有与
newAttr相同本地名称和命名空间URI的另一个属性,此函数将替换该属性并返回它;否则,函数返回一个null attribute。- setTagName(name)¶
- Parameters:
name – str
将此元素的标签名称设置为
name。另请参阅
- tagName()¶
- Return type:
字符串
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
返回此元素的标签名称。对于一个像这样的XML元素:
<img src="myimg.png">
标签名将返回“img”。
另请参阅
- text()¶
- Return type:
字符串
警告
本节包含从C++自动翻译到Python的代码片段,可能包含错误。
返回元素的文本或空字符串。
示例:
<h1>Hello <b>Qt</b> <not [CDATA[<xml is cool>]]></h1>
QDomElement的 text() 函数对于标签,将返回以下文本:Hello Qt <xml is cool>
注释被此函数忽略。它只评估
QDomText和QDomCDATASection对象。