QDomElement Class Reference

[QtXml module]

该QDomElement类表示的DOM树中的元素。More…

继承QDomNode

Methods

  • __init__ (self)
  • __init__ (self, QDomElement x)
  • QString attribute (self, QString name, QString defaultValue = QString())
  • QDomAttr attributeNode (self, QString name)
  • QDomAttr attributeNodeNS (self, QString nsURI, QString localName)
  • QString attributeNS (self, QString nsURI, QString localName, QString defaultValue = QString())
  • QDomNamedNodeMap attributes (self)
  • QDomNodeList elementsByTagName (self, QString tagname)
  • QDomNodeList elementsByTagNameNS (self, QString nsURI, QString localName)
  • bool hasAttribute (self, QString name)
  • bool hasAttributeNS (self, QString nsURI, QString localName)
  • QDomNode.NodeType nodeType (self)
  • removeAttribute (self, QString name)
  • QDomAttr removeAttributeNode (self, QDomAttr oldAttr)
  • removeAttributeNS (self, QString nsURI, QString localName)
  • setAttribute (self, QString name, QString value)
  • setAttribute (self, QString name, int value)
  • setAttribute (self, QString name, int value)
  • setAttribute (self, QString name, float value)
  • setAttribute (self, QString name, int value)
  • QDomAttr setAttributeNode (self, QDomAttr newAttr)
  • QDomAttr setAttributeNodeNS (self, QDomAttr newAttr)
  • setAttributeNS (self, QString nsURI, QString qName, QString value)
  • setAttributeNS (self, QString nsURI, QString qName, int value)
  • setAttributeNS (self, QString nsURI, QString qName, int value)
  • setAttributeNS (self, QString nsURI, QString qName, float value)
  • setAttributeNS (self, QString nsURI, QString qName, int value)
  • setTagName (self, QString name)
  • QString tagName (self)
  • QString text (self)

Detailed Description

该QDomElement类表示的DOM树中的元素。

元素有一个tagName()和与它们相关联的零个或多个属性。变量名可以被改变setTagName( ) 。

元素属性表示为QDomAttr可以使用查询对象的attribute()和attributeNode()函数。您可以设置的属性与setAttribute()和setAttributeNode()函数。属性可以用去除removeAttribute( ) 。有命名空间的等值这些功能,即setAttributeNS( )setAttributeNodeNS()和removeAttributeNS( ) 。

如果您要访问的节点使用的文字text( ),例如

  1. QDomElement e = //...
  2. //...
  3. [QString](qstring.html) s = e.text()

text( )函数的递归操作要查找的文本(因为不是所有的元素包含文本)。如果你想找到的所有的节点的子节点的所有文字,迭代孩子找QDomText节点,例如

  1. [QString](qstring.html) text;
  2. QDomElement element = doc.documentElement();
  3. for([QDomNode]($docs-qdomnode.html) n = element.firstChild(); !n.isNull(); n = n.nextSibling())
  4. {
  5. [QDomText]($docs-qdomtext.html) t = n.toText();
  6. if (!t.isNull())
  7. text += t.data();
  8. }

需要注意的是,我们试图给每个节点转换为文本节点,并使用text() ,而不是使用firstChild( ) 。toText( )数据( )或n 。toText() 。数据()直接在节点上,因为节点可能不是一个文本元素。

你可以得到一个元素的所有那些与一个指定的标记名称的decendents列表elementsByTagName()或elementsByTagNameNS( ) 。

要浏览一个DOM文档使用的元素firstChildElement( )lastChildElement( )nextSiblingElement()和previousSiblingElement( ) 。例如,迭代中被称为“数据库”根元素称为“入口”的所有子元素,你可以使用:

  1. [QDomDocument]($docs-qdomdocument.html) doc = // ...
  2. QDomElement root = doc.firstChildElement("database");
  3. QDomElement elt = root.firstChildElement("entry");
  4. for (; !elt.isNull(); elt = elt.nextSiblingElement("entry")) {
  5. // ...
  6. }

关于文档对象模型有进一步的信息Level 1Level 2 Core。对于更一般介绍的DOM实现的见QDomDocument文档。


Method Documentation

  1. QDomElement.__init__ (self)

构造一个空元素。使用QDomDocument.createElement( )函数来构造与内容元素。

  1. QDomElement.__init__ (self, QDomElement x)

构造的副本x

副本的数据是共享的(浅拷贝) :修改一个节点也将改变其他。如果你想使一个深拷贝,使用cloneNode( ) 。

  1. QString QDomElement.attribute (self, QString name, QString defaultValue = QString())
  1. QDomAttr QDomElement.attributeNode (self, QString name)

返回QDomAttr对应于所谓的属性对象name。如果没有这样的属性存在一null attribute返回。

See also setAttributeNode( )attribute( )setAttribute()和attributeNodeNS( ) 。

  1. QDomAttr QDomElement.attributeNodeNS (self, QString nsURI, QString localName)

返回QDomAttr对应于属性的本地名称对象localName和命名空间URInsURI。如果没有这样的属性存在一null attribute返回。

See also setAttributeNodeNS( )setAttributeNode( )attribute()和setAttribute( ) 。

  1. QString QDomElement.attributeNS (self, QString nsURI, QString localName, QString defaultValue = QString())

返回与本地名属性localName和命名空间URInsURI。如果属性不存在defValue返回。

See also setAttributeNS( )attributeNodeNS( )setAttributeNodeNS()和attribute( ) 。

  1. QDomNamedNodeMap QDomElement.attributes (self)

返回QDomNamedNodeMap包含此元素的所有属性。

See also attribute( )setAttribute( )attributeNode()和setAttributeNode( ) 。

  1. QDomNodeList QDomElement.elementsByTagName (self, QString tagname)

返回QDomNodeList含命名该元素的所有后代tagname在子树中的元素与此元素为根的前序遍历遇到。在返回列表中的元素的顺序是它们的前序遍历过程中出现的顺序。

See also elementsByTagNameNS()和QDomDocument.elementsByTagName( ) 。

  1. QDomNodeList QDomElement.elementsByTagNameNS (self, QString nsURI, QString localName)

返回QDomNodeList包含此元素的所有后代与当地名localName和命名空间URInsURI在子树中的元素与此元素为根的前序遍历遇到。在返回列表中的元素的顺序是它们的前序遍历过程中出现的顺序。

See also elementsByTagName()和QDomDocument.elementsByTagNameNS( ) 。

  1. bool QDomElement.hasAttribute (self, QString name)

如果此元素有一个名为属性,则返回Truename否则返回False 。

Note:这个功能并不需要命名空间的存在考虑。因此,指定的名称将针对完全合格的属性名,包括任何命名空间前缀可能存在的测试。

使用hasAttributeNS()来为特定的命名空间和名称的属性明确地测试。

  1. bool QDomElement.hasAttributeNS (self, QString nsURI, QString localName)

如果此元素具有与当地名称的属性,则返回TruelocalName和命名空间URInsURI否则返回False 。

  1. QDomNode.NodeType QDomElement.nodeType (self)

[

Returns ElementNode

  1. QDomElement.removeAttribute (self, QString name)

消除了所谓的属性名称name从这个项目。

]($docs-qdomnode.html#NodeType-enum)

See also setAttribute( )attribute()和removeAttributeNS( ) 。

  1. QDomAttr QDomElement.removeAttributeNode (self, QDomAttr oldAttr)

[

移除属性oldAttr从元素并返回它。

]($docs-qdomattr.html)

See also attributeNode()和setAttributeNode( ) 。

  1. QDomElement.removeAttributeNS (self, QString nsURI, QString localName)

删除该属性的本地名称localName和命名空间URInsURI从这个项目。

See also setAttributeNS( )attributeNS()和removeAttribute( ) 。

  1. QDomElement.setAttribute (self, QString name, QString value)

添加称为属性name与价值value。如果具有相同名称的属性存在,它的值被替换value

See also attribute( )setAttributeNode()和setAttributeNS( ) 。

  1. QDomElement.setAttribute (self, QString name, int value)

这是一个重载函数。

数是根据当前的区域设置。

  1. QDomElement.setAttribute (self, QString name, int value)

这是一个重载函数。

数是根据当前的区域设置。

  1. QDomElement.setAttribute (self, QString name, float value)

这是一个重载函数。

数是根据当前的区域设置。

  1. QDomElement.setAttribute (self, QString name, int value)

这是一个重载函数。

数是根据当前的区域设置。

  1. QDomAttr QDomElement.setAttributeNode (self, QDomAttr newAttr)

[

添加属性newAttr此元素。

]($docs-qdomattr.html)

如果该元件具有一个具有相同名称的另一个属性newAttr,这个函数替换该属性并返回它,否则该函数返回一个null attribute

See also attributeNode( )setAttribute()和setAttributeNodeNS( ) 。

  1. QDomAttr QDomElement.setAttributeNodeNS (self, QDomAttr newAttr)

[

添加属性newAttr此元素。

]($docs-qdomattr.html)

如果元素具有具有相同的本地名称和命名空间URI作为另一个属性newAttr,这个函数替换该属性并返回它,否则该函数返回一个null attribute

See also attributeNodeNS( )setAttributeNS()和setAttributeNode( ) 。

  1. QDomElement.setAttributeNS (self, QString nsURI, QString qName, QString value)

添加具有限定名称的属性qName和命名空间URInsURI与该值value。如果具有相同的本地名称和名称空间URI存在的属性,它的前缀被替换的前缀qName其值由repacedvalue

虽然qName是合格的名称,本地名称是用来决定是否将现有属性的值应及时更换。

See also attributeNS( )setAttributeNodeNS()和setAttribute( ) 。

  1. QDomElement.setAttributeNS (self, QString nsURI, QString qName, int value)

这是一个重载函数。

  1. QDomElement.setAttributeNS (self, QString nsURI, QString qName, int value)

这是一个重载函数。

  1. QDomElement.setAttributeNS (self, QString nsURI, QString qName, float value)

这是一个重载函数。

  1. QDomElement.setAttributeNS (self, QString nsURI, QString qName, int value)

这是一个重载函数。

  1. QDomElement.setTagName (self, QString name)

设置此元素的标籤名name

See also tagName( ) 。

  1. QString QDomElement.tagName (self)

返回此元素的标籤名称。对于这样的一个XML元素:

  1. <img src="myimg.png">

标记名会返回“ IMG ” 。

See also setTagName( ) 。

  1. QString QDomElement.text (self)

返回元素的文本或空字符串。

例如:

  1. <h1>Hello <b>[Qt](qt.html)</b> <![CDATA[<xml is cool>]]></h1>

的功能文本( )QDomElement&lt;h1&gt;标籤,将返回以下文本:

  1. Hello [Qt](qt.html) <xml is cool>

注释此函数忽略。只计算QDomTextQDomCDATASection对象。