Sur cette page

QDomElement Class

La classe QDomElement représente un élément de l'arbre DOM. Plus d'informations...

En-tête : #include <QDomElement>
CMake : find_package(Qt6 REQUIRED COMPONENTS Xml)
target_link_libraries(mytarget PRIVATE Qt6::Xml)
qmake : QT += xml
Héritages : QDomNode

Note : Toutes les fonctions de cette classe sont réentrantes.

Fonctions publiques

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)

Description détaillée

Les éléments ont un tagName() et zéro ou plusieurs attributs qui leur sont associés. Le nom de la balise peut être modifié à l'aide de setTagName().

Les attributs des éléments sont représentés par des objets QDomAttr qui peuvent être interrogés à l'aide des fonctions attribute() et attributeNode(). Vous pouvez définir des attributs à l'aide des fonctions setAttribute() et setAttributeNode(). Les attributs peuvent être supprimés à l'aide de la fonction removeAttribute(). Il existe des équivalents de ces fonctions qui tiennent compte de l'espace de noms, à savoir setAttributeNS(), setAttributeNodeNS() et removeAttributeNS().

Si vous souhaitez accéder au texte d'un nœud, utilisez text(), par exemple

QDomElement e = //...
//...
QString s = e.text()

La fonction text() opère de manière récursive pour trouver le texte (puisque tous les éléments ne contiennent pas de texte). Si vous voulez trouver tout le texte dans tous les enfants d'un nœud, itérez sur les enfants à la recherche des nœuds QDomText, par exemple.

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();
}

Notez que nous essayons de convertir chaque nœud en nœud de texte et d'utiliser text() plutôt que d'utiliser firstChild().toText().data() ou n.toText().data() directement sur le nœud, parce que le nœud peut ne pas être un élément de texte.

Vous pouvez obtenir une liste de tous les descendants d'un élément qui ont un nom de balise spécifié avec elementsByTagName() ou elementsByTagNameNS().

Pour parcourir les éléments d'un document dom, utilisez firstChildElement(), lastChildElement(), nextSiblingElement() et previousSiblingElement(). Par exemple, pour parcourir tous les éléments enfants appelés "entry" dans un élément racine appelé "database", vous pouvez utiliser :

QDomDocument doc = // ...
QDomElement root = doc.firstChildElement("database");
QDomElement elt = root.firstChildElement("entry");
for (; !elt.isNull(); elt = elt.nextSiblingElement("entry")) {
    // ...
}

Pour plus d'informations sur le modèle d'objet de document, voir les niveaux 1 et 2 du noyau. Pour une introduction plus générale à l'implémentation du DOM, voir la documentation QDomDocument.

Documentation sur les fonctions membres

QDomElement::QDomElement()

Construit un élément vide. Utilisez la fonction QDomDocument::createElement() pour construire des éléments avec un contenu.

QDomElement::QDomElement(const QDomElement &element)

Construit une copie de element.

Les données de la copie sont partagées (copie superficielle) : modifier un noeud modifiera également l'autre. Si vous voulez faire une copie profonde, utilisez cloneNode().

QString QDomElement::attribute(const QString &name, const QString &defValue = QString()) const

Renvoie l'attribut appelé name. Si l'attribut n'existe pas, defValue est renvoyé.

Voir aussi setAttribute(), attributeNode(), setAttributeNode() et attributeNS().

QString QDomElement::attributeNS(const QString &nsURI, const QString &localName, const QString &defValue = QString()) const

Renvoie l'attribut avec le nom local localName et l'URI de l'espace de noms nsURI. Si l'attribut n'existe pas, defValue est renvoyé.

Voir aussi setAttributeNS(), attributeNodeNS(), setAttributeNodeNS() et attribute().

QDomAttr QDomElement::attributeNode(const QString &name)

Renvoie l'objet QDomAttr qui correspond à l'attribut appelé name. Si cet attribut n'existe pas, l'objet null attribute est renvoyé.

Voir aussi setAttributeNode(), attribute(), setAttribute() et attributeNodeNS().

QDomAttr QDomElement::attributeNodeNS(const QString &nsURI, const QString &localName)

Renvoie l'objet QDomAttr qui correspond à l'attribut portant le nom local localName et l'URI de l'espace de noms nsURI. Si un tel attribut n'existe pas, l'objet null attribute est renvoyé.

Voir aussi setAttributeNodeNS(), setAttributeNode(), attribute() et setAttribute().

QDomNamedNodeMap QDomElement::attributes() const

Renvoie une adresse QDomNamedNodeMap contenant tous les attributs de cet élément.

Voir aussi attribute(), setAttribute(), attributeNode() et setAttributeNode().

QDomNodeList QDomElement::elementsByTagName(const QString &tagname) const

Renvoie une liste QDomNodeList contenant tous les descendants de l'élément nommé tagname rencontrés lors d'un parcours préalable du sous-arbre d'éléments ayant cet élément pour racine. L'ordre des éléments dans la liste renvoyée est l'ordre dans lequel ils ont été rencontrés au cours de l'exploration préalable.

Voir aussi elementsByTagNameNS() et QDomDocument::elementsByTagName().

QDomNodeList QDomElement::elementsByTagNameNS(const QString &nsURI, const QString &localName) const

Renvoie une liste QDomNodeList contenant tous les descendants de cet élément avec le nom local localName et l'URI de l'espace de noms nsURI rencontrés lors d'un parcours préalable du sous-arbre d'éléments avec cet élément comme racine. L'ordre des éléments dans la liste renvoyée est l'ordre dans lequel ils ont été rencontrés au cours de l'exploration préalable.

Voir aussi elementsByTagName() et QDomDocument::elementsByTagNameNS().

bool QDomElement::hasAttribute(const QString &name) const

Renvoie true si cet élément possède un attribut appelé name; sinon, renvoie false.

Remarque : cette fonction ne tient pas compte de la présence d'espaces de noms. Par conséquent, le nom spécifié sera testé par rapport aux noms d'attributs entièrement qualifiés qui incluent tous les préfixes d'espace de noms éventuellement présents.

Utilisez hasAttributeNS() pour tester explicitement les attributs avec des espaces de noms et des noms spécifiques.

bool QDomElement::hasAttributeNS(const QString &nsURI, const QString &localName) const

Renvoie true si cet élément possède un attribut avec le nom local localName et l'URI de l'espace de noms nsURI; sinon, renvoie false.

QDomNode::NodeType QDomElement::nodeType() const

Retourne ElementNode.

void QDomElement::removeAttribute(const QString &name)

Supprime l'attribut appelé name name de cet élément.

Voir aussi setAttribute(), attribute() et removeAttributeNS().

void QDomElement::removeAttributeNS(const QString &nsURI, const QString &localName)

Supprime l'attribut portant le nom local localName et l'URI de l'espace de noms nsURI de cet élément.

Voir aussi setAttributeNS(), attributeNS() et removeAttribute().

QDomAttr QDomElement::removeAttributeNode(const QDomAttr &oldAttr)

Supprime l'attribut oldAttr de l'élément et le renvoie.

Voir aussi attributeNode() et setAttributeNode().

void QDomElement::setAttribute(const QString &name, const QString &value)

Ajoute un attribut appelé name avec la valeur value. S'il existe un attribut portant le même nom, sa valeur est remplacée par value.

Voir aussi attribute(), setAttributeNode() et setAttributeNS().

void QDomElement::setAttribute(const QString &name, double value)

Le formatage utilise toujours QLocale::C.

Il s'agit d'une fonction surchargée.

void QDomElement::setAttribute(const QString &name, float value)

Le formatage utilise toujours QLocale::C.

Il s'agit d'une fonction surchargée.

void QDomElement::setAttribute(const QString &name, int value)

Le formatage utilise toujours QLocale::C.

Il s'agit d'une fonction surchargée.

void QDomElement::setAttribute(const QString &name, qlonglong value)

Le formatage utilise toujours QLocale::C.

Il s'agit d'une fonction surchargée.

void QDomElement::setAttribute(const QString &name, qulonglong value)

Le formatage utilise toujours QLocale::C.

Il s'agit d'une fonction surchargée.

void QDomElement::setAttribute(const QString &name, uint value)

Le formatage utilise toujours QLocale::C.

Il s'agit d'une fonction surchargée.

void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, const QString &value)

Ajoute un attribut avec le nom qualifié qName et l'URI de l'espace de noms nsURI avec la valeur value. S'il existe un attribut avec le même nom local et la même URI d'espace de noms, son préfixe est remplacé par le préfixe de qName et sa valeur est remplacée par value.

Bien que qName soit le nom qualifié, le nom local est utilisé pour décider si la valeur d'un attribut existant doit être remplacée.

Voir aussi attributeNS(), setAttributeNodeNS() et setAttribute().

void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, double value)

Il s'agit d'une fonction surchargée.

void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, int value)

Il s'agit d'une fonction surchargée.

void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, qlonglong value)

Il s'agit d'une fonction surchargée.

void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, qulonglong value)

Il s'agit d'une fonction surchargée.

void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, uint value)

Il s'agit d'une fonction surchargée.

QDomAttr QDomElement::setAttributeNode(const QDomAttr &newAttr)

Ajoute l'attribut newAttr à cet élément.

Si l'élément possède un autre attribut portant le même nom que newAttr, cette fonction remplace cet attribut et le renvoie ; sinon, la fonction renvoie un null attribute.

Voir également attributeNode(), setAttribute() et setAttributeNodeNS().

QDomAttr QDomElement::setAttributeNodeNS(const QDomAttr &newAttr)

Ajoute l'attribut newAttr à cet élément.

Si l'élément possède un autre attribut dont le nom local et l'URI de l'espace de noms sont identiques à ceux de newAttr, cette fonction remplace cet attribut et le renvoie ; sinon, la fonction renvoie un null attribute.

Voir également attributeNodeNS(), setAttributeNS() et setAttributeNode().

void QDomElement::setTagName(const QString &name)

Définit le nom de balise de cet élément à name.

Voir aussi tagName().

QString QDomElement::tagName() const

Renvoie le nom de la balise de cet élément. Pour un élément XML comme celui-ci :

<img src="myimg.png">

le nom de la balise renverrait "img".

Voir aussi setTagName().

QString QDomElement::text() const

Renvoie le texte de l'élément ou une chaîne vide.

Exemple :

<h1>Hello <b>Qt</b> <![CDATA[<xml is cool>]]></h1>

La fonction text() de l'élément QDomElement pour la balise <h1> renverra le texte suivant :

Hello Qt <xml is cool>

Les commentaires sont ignorés par cette fonction. Elle n'évalue que les objets QDomText et QDomCDATASection.

QDomElement &QDomElement::operator=(const QDomElement &other)

Attribue other à cet élément du DOM.

Les données de la copie sont partagées (copie superficielle) : modifier un nœud modifiera également l'autre. Si vous voulez faire une copie profonde, utilisez 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.