QDomElement Class
La clase QDomElement representa un elemento en el árbol DOM. Más...
| Cabecera: | #include <QDomElement> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Xml)target_link_libraries(mytarget PRIVATE Qt6::Xml) |
| qmake: | QT += xml |
| Hereda: | QDomNode |
- Lista de todos los miembros, incluyendo los heredados
- QDomElement es parte de Clases XML.
Nota: Todas las funciones de esta clase son reentrantes.
Funciones Públicas
| QDomElement() | |
| QDomElement(const QDomElement &element) | |
| QString | attribute(const QString &name, const QString &defValue = QString()) const |
| QString | attributeNS(const QString &nsURI, const QString &localName, const QString &defValue = QString()) const |
| QDomAttr | attributeNode(const QString &name) |
| QDomAttr | attributeNodeNS(const QString &nsURI, const QString &localName) |
| QDomNamedNodeMap | attributes() const |
| QDomNodeList | elementsByTagName(const QString &tagname) const |
| QDomNodeList | elementsByTagNameNS(const QString &nsURI, const QString &localName) const |
| bool | hasAttribute(const QString &name) const |
| bool | hasAttributeNS(const QString &nsURI, const QString &localName) const |
| QDomNode::NodeType | nodeType() const |
| void | removeAttribute(const QString &name) |
| void | removeAttributeNS(const QString &nsURI, const QString &localName) |
| QDomAttr | removeAttributeNode(const QDomAttr &oldAttr) |
| void | setAttribute(const QString &name, const QString &value) |
| void | setAttribute(const QString &name, double value) |
| void | setAttribute(const QString &name, float value) |
| void | setAttribute(const QString &name, int value) |
| void | setAttribute(const QString &name, qlonglong value) |
| void | setAttribute(const QString &name, qulonglong value) |
| void | setAttribute(const QString &name, uint value) |
| void | setAttributeNS(const QString &nsURI, const QString &qName, const QString &value) |
| void | setAttributeNS(const QString &nsURI, const QString &qName, double value) |
| void | setAttributeNS(const QString &nsURI, const QString &qName, int value) |
| void | setAttributeNS(const QString &nsURI, const QString &qName, qlonglong value) |
| void | setAttributeNS(const QString &nsURI, const QString &qName, qulonglong value) |
| void | setAttributeNS(const QString &nsURI, const QString &qName, uint value) |
| QDomAttr | setAttributeNode(const QDomAttr &newAttr) |
| QDomAttr | setAttributeNodeNS(const QDomAttr &newAttr) |
| void | setTagName(const QString &name) |
| QString | tagName() const |
| QString | text() const |
| QDomElement & | operator=(const QDomElement &other) |
Descripción detallada
Los elementos tienen un tagName() y cero o más atributos asociados a ellos. El nombre de la etiqueta puede modificarse con setTagName().
Los atributos de los elementos están representados por objetos QDomAttr que pueden consultarse mediante las funciones attribute() y attributeNode(). Se pueden establecer atributos con las funciones setAttribute() y setAttributeNode(). Los atributos pueden eliminarse con removeAttribute(). Existen equivalentes a estas funciones que tienen en cuenta el espacio de nombres, es decir, setAttributeNS(), setAttributeNodeNS() y removeAttributeNS().
Si desea acceder al texto de un nodo, utilice text(), por ejemplo.
QDomElement e = //... //... QString s = e.text()
La función text() opera de forma recursiva para encontrar el texto (ya que no todos los elementos contienen texto). Si desea encontrar todo el texto en todos los hijos de un nodo, itere sobre los hijos buscando los nodos QDomText, p. ej.
QString text; QDomElement element = doc.documentElement(); for(QDomNode n = element.firstChild(); !n.isNull(); n = n.nextSibling()) { QDomText t = n.toText(); if (!t.isNull()) text += t.data(); }
Tenga en cuenta que intentamos convertir cada nodo en un nodo de texto y usamos text() en lugar de usar firstChild().toText().data() o n.toText().data() directamente en el nodo, porque puede que el nodo no sea un elemento de texto.
Puede obtener una lista de todos los descendientes de un elemento que tengan un nombre de etiqueta especificado con elementsByTagName() o elementsByTagNameNS().
Para recorrer los elementos de un documento dom utilice firstChildElement(), lastChildElement(), nextSiblingElement() y previousSiblingElement(). Por ejemplo, para iterar sobre todos los elementos hijos llamados "entrada" en un elemento raíz llamado "base de datos", puede utilizar:
QDomDocument doc = // ... QDomElement root = doc.firstChildElement("database"); QDomElement elt = root.firstChildElement("entry"); for (; !elt.isNull(); elt = elt.nextSiblingElement("entry")) { // ... }
Para más información sobre el Modelo de Objetos de Documento, véase Núcleo de Nivel 1 y Nivel 2. Para una introducción más general a la implementación del DOM, consulte la documentación de QDomDocument.
Documentación de las funciones miembro
QDomElement::QDomElement()
Construye un elemento vacío. Utilice la función QDomDocument::createElement() para construir elementos con contenido.
QDomElement::QDomElement(const QDomElement &element)
Construye una copia de element.
Los datos de la copia son compartidos (copia superficial): si se modifica un nodo, también se modificará el otro. Si quieres hacer una copia profunda, utiliza cloneNode().
QString QDomElement::attribute(const QString &name, const QString &defValue = QString()) const
Devuelve el atributo llamado name. Si el atributo no existe se devuelve defValue.
Véase también setAttribute(), attributeNode(), setAttributeNode() y attributeNS().
QString QDomElement::attributeNS(const QString &nsURI, const QString &localName, const QString &defValue = QString()) const
Devuelve el atributo con el nombre local localName y el URI del espacio de nombres nsURI. Si el atributo no existe se devuelve defValue.
Véase también setAttributeNS(), attributeNodeNS(), setAttributeNodeNS() y attribute().
QDomAttr QDomElement::attributeNode(const QString &name)
Devuelve el objeto QDomAttr que corresponde al atributo llamado name. Si no existe tal atributo se devuelve null attribute.
Véase también setAttributeNode(), attribute(), setAttribute() y attributeNodeNS().
QDomAttr QDomElement::attributeNodeNS(const QString &nsURI, const QString &localName)
Devuelve el objeto QDomAttr que corresponde al atributo con el nombre local localName y el URI del espacio de nombres nsURI. Si no existe dicho atributo se devuelve null attribute.
Véase también setAttributeNodeNS(), setAttributeNode(), attribute() y setAttribute().
QDomNamedNodeMap QDomElement::attributes() const
Devuelve un QDomNamedNodeMap que contiene todos los atributos de este elemento.
Véase también attribute(), setAttribute(), attributeNode() y setAttributeNode().
QDomNodeList QDomElement::elementsByTagName(const QString &tagname) const
Devuelve un QDomNodeList que contiene todos los descendientes de este elemento llamado tagname encontrados durante un recorrido de preorden del subárbol de elementos con este elemento como raíz. El orden de los elementos en la lista devuelta es el orden en que se encuentran durante el recorrido de preorden.
Véase también elementsByTagNameNS() y QDomDocument::elementsByTagName().
QDomNodeList QDomElement::elementsByTagNameNS(const QString &nsURI, const QString &localName) const
Devuelve un QDomNodeList que contiene todos los descendientes de este elemento con nombre local localName y URI de espacio de nombres nsURI encontrados durante un recorrido de preorden del subárbol de elementos con este elemento como raíz. El orden de los elementos en la lista devuelta es el orden en que se encuentran durante el recorrido de preorden.
Véase también elementsByTagName() y QDomDocument::elementsByTagNameNS().
bool QDomElement::hasAttribute(const QString &name) const
Devuelve true si este elemento tiene un atributo llamado name; en caso contrario devuelve false.
Nota: Esta función no tiene en cuenta la presencia de espacios de nombres. Como resultado, el nombre especificado se comprobará con nombres de atributo totalmente cualificados que incluyan cualquier prefijo de espacio de nombres que pueda estar presente.
Utilice hasAttributeNS() para buscar explícitamente atributos con espacios de nombres y nombres específicos.
bool QDomElement::hasAttributeNS(const QString &nsURI, const QString &localName) const
Devuelve true si este elemento tiene un atributo con el nombre local localName y el URI del espacio de nombres nsURI; en caso contrario devuelve false.
QDomNode::NodeType QDomElement::nodeType() const
Devuelve ElementNode.
void QDomElement::removeAttribute(const QString &name)
Elimina el atributo llamado nombre name de este elemento.
Véase también setAttribute(), attribute() y removeAttributeNS().
void QDomElement::removeAttributeNS(const QString &nsURI, const QString &localName)
Elimina el atributo con el nombre local localName y el URI del espacio de nombres nsURI de este elemento.
Véase también setAttributeNS(), attributeNS() y removeAttribute().
QDomAttr QDomElement::removeAttributeNode(const QDomAttr &oldAttr)
Elimina el atributo oldAttr del elemento y lo devuelve.
Véase también attributeNode() y setAttributeNode().
void QDomElement::setAttribute(const QString &name, const QString &value)
Añade un atributo llamado name con valor value. Si existe un atributo con el mismo nombre, su valor se sustituye por value.
Véase también attribute(), setAttributeNode() y setAttributeNS().
void QDomElement::setAttribute(const QString &name, double value)
El formato siempre utiliza QLocale::C.
Se trata de una función sobrecargada.
void QDomElement::setAttribute(const QString &name, float value)
El formato siempre utiliza QLocale::C.
Se trata de una función sobrecargada.
void QDomElement::setAttribute(const QString &name, int value)
El formato siempre utiliza QLocale::C.
Se trata de una función sobrecargada.
void QDomElement::setAttribute(const QString &name, qlonglong value)
El formato siempre utiliza QLocale::C.
Se trata de una función sobrecargada.
void QDomElement::setAttribute(const QString &name, qulonglong value)
El formato utiliza siempre QLocale::C.
Se trata de una función sobrecargada.
void QDomElement::setAttribute(const QString &name, uint value)
El formato siempre utiliza QLocale::C.
Se trata de una función sobrecargada.
void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, const QString &value)
Añade un atributo con el nombre cualificado qName y el URI del espacio de nombres nsURI con el valor value. Si existe un atributo con el mismo nombre local y URI de espacio de nombres, su prefijo se sustituye por el prefijo de qName y su valor se sustituye por value.
Aunque qName es el nombre cualificado, el nombre local se utiliza para decidir si debe sustituirse el valor de un atributo existente.
Véase también attributeNS(), setAttributeNodeNS() y setAttribute().
void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, double value)
Se trata de una función sobrecargada.
void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, int value)
Se trata de una función sobrecargada.
void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, qlonglong value)
Se trata de una función sobrecargada.
void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, qulonglong value)
Se trata de una función sobrecargada.
void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, uint value)
Se trata de una función sobrecargada.
QDomAttr QDomElement::setAttributeNode(const QDomAttr &newAttr)
Añade el atributo newAttr a este elemento.
Si el elemento tiene otro atributo que tiene el mismo nombre que newAttr, esta función reemplaza ese atributo y lo devuelve; de lo contrario la función devuelve un null attribute.
Véase también attributeNode(), setAttribute(), y setAttributeNodeNS().
QDomAttr QDomElement::setAttributeNodeNS(const QDomAttr &newAttr)
Añade el atributo newAttr a este elemento.
Si el elemento tiene otro atributo que tiene el mismo nombre local y URI de espacio de nombres que newAttr, esta función reemplaza ese atributo y lo devuelve; de lo contrario la función devuelve un null attribute.
Véase también attributeNodeNS(), setAttributeNS(), y setAttributeNode().
void QDomElement::setTagName(const QString &name)
Establece el nombre de la etiqueta de este elemento en name.
Véase también tagName().
QString QDomElement::tagName() const
Devuelve el nombre de etiqueta de este elemento. Para un elemento XML como este
<img src="myimg.png">
el tagname devolvería "img".
Véase también setTagName().
QString QDomElement::text() const
Devuelve el texto del elemento o una cadena vacía.
Ejemplo:
<h1>Hello <b>Qt</b> <![CDATA[<xml is cool>]]></h1>
La función text() de QDomElement para la etiqueta <h1>, devolverá el siguiente texto:
Hello Qt <xml is cool>
Esta función ignora los comentarios. Sólo evalúa los objetos QDomText y QDomCDATASection.
QDomElement &QDomElement::operator=(const QDomElement &other)
Asigna other a este elemento DOM.
Los datos de la copia son compartidos (copia superficial): si se modifica un nodo, también se modificará el otro. Si desea realizar una copia profunda, utilice cloneNode().
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.