QDomElement Class
La classe QDomElement représente un élément de l'arborescence DOM. En savoir plus...
| En-tête : | #include <QDomElement> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Xml) target_link_libraries(mytarget PRIVATE Qt6::Xml) |
| qmake : | QT += xml |
| Hérite de : | QDomNode |
- Liste de tous les membres, y compris les membres hérités
- QDomElement fait partie des classes XML.
Remarque : 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 possèdent un nom de balise ( tagName()) et zéro ou plusieurs attributs qui leur sont associés. Le nom de la balise peut être modifié à l’aide de la fonction setTagName().
Les attributs d’un élément 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 prenant en compte les espaces de noms, à savoir ` setAttributeNS()`, ` setAttributeNodeNS()` et ` removeAttributeNS()`.
Si vous souhaitez accéder au texte d’un nœud, utilisez la fonction text(), par exemple :
QDomElement e = //...
//...
QString s = e.text()La fonction text() fonctionne de manière récursive pour trouver le texte (car tous les éléments ne contiennent pas nécessairement du texte). Si vous souhaitez trouver tout le texte présent dans l’ensemble des enfants d’un nœud, parcourez les enfants en recherchant des nœuds de type 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 tentons de convertir chaque nœud en nœud de texte et utilisons ` text()` plutôt que ` firstChild()`. N’utilisez pas `toText().data()` ou `n.toText().data()` directement sur le nœud, car celui-ci n’est pas forcément un élément de texte.
Vous pouvez obtenir la liste de tous les descendants d’un élément portant un nom de balise spécifié à l’aide de ` 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 nommés « entry » dans un élément racine nommé « 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 objet de document (DOM), consultez les sections « Level 1 » et « Level 2 Core ». Pour une introduction plus générale à l’implémentation du DOM, consultez la documentation relative à QDomDocument.
Documentation sur les fonctions membres
QDomElement::QDomElement()
Crée un élément vide. Utilisez la fonction QDomDocument::createElement() pour créer des éléments contenant du contenu.
QDomElement::QDomElement(const QDomElement &element)
Crée une copie de element.
Les données de la copie sont partagées (copie superficielle) : la modification d’un nœud entraîne également la modification de l’autre. Si vous souhaitez effectuer une copie profonde, utilisez cloneNode().
QString QDomElement::attribute(const QString &name, const QString &defValue = QString()) const
Renvoie l'attribut nommé « name ». Si cet attribut n'existe pas, la valeur « defValue » est renvoyée.
Voir également setAttribute(), attributeNode(), setAttributeNode() et attributeNS().
QString QDomElement::attributeNS(const QString &nsURI, const QString &localName, const QString &defValue = QString()) const
Renvoie l'attribut portant le nom local localName et l'URI d'espace de noms nsURI. Si l'attribut n'existe pas, la valeur defValue est renvoyée.
Voir également setAttributeNS(), attributeNodeNS(), setAttributeNodeNS() et attribute().
QDomAttr QDomElement::attributeNode(const QString &name)
Renvoie l'objet « QDomAttr » correspondant à l'attribut « name ». Si cet attribut n'existe pas, un objet « null attribute » est renvoyé.
Voir également setAttributeNode(), attribute(), setAttribute() et attributeNodeNS().
QDomAttr QDomElement::attributeNodeNS(const QString &nsURI, const QString &localName)
Renvoie l'objet ` QDomAttr ` correspondant à l'attribut dont le nom local est ` localName ` et dont l'URI d'espace de noms est ` nsURI`. Si aucun attribut de ce type n'existe, un objet ` null attribute ` est renvoyé.
Voir également setAttributeNodeNS(), setAttributeNode(), attribute() et setAttribute().
QDomNamedNodeMap QDomElement::attributes() const
Renvoie un objet ` QDomNamedNodeMap ` contenant tous les attributs de cet élément.
Voir également attribute(), setAttribute(), attributeNode() et setAttributeNode().
QDomNodeList QDomElement::elementsByTagName(const QString &tagname) const
Renvoie une liste de type ` QDomNodeList ` contenant tous les descendants de cet élément nommés ` tagname ` rencontrés lors d'un parcours en pré-ordre de la sous-arborescence de l'élément, dont cet élément est la racine. L'ordre des éléments dans la liste renvoyée correspond à l'ordre dans lequel ils ont été rencontrés lors du parcours en pré-ordre.
Voir également elementsByTagNameNS() et QDomDocument::elementsByTagName().
QDomNodeList QDomElement::elementsByTagNameNS(const QString &nsURI, const QString &localName) const
Renvoie une liste de type ` QDomNodeList ` contenant tous les descendants de cet élément dont le nom local est localName et dont l'URI d'espace de noms est nsURI, rencontrés lors d'une traversée en pré-ordre de la sous-arborescence de l'élément dont cet élément est la racine. L'ordre des éléments dans la liste renvoyée correspond à l'ordre dans lequel ils ont été rencontrés lors de la traversée en pré-ordre.
Voir également elementsByTagName() et QDomDocument::elementsByTagNameNS().
bool QDomElement::hasAttribute(const QString &name) const
Renvoie « true » si cet élément possède un attribut nommé « 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 comparé aux noms d’attributs pleinement qualifiés, incluant les préfixes d’espaces de noms éventuellement présents.
Utilisez la fonction ` hasAttributeNS()` pour vérifier explicitement la présence d’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 dont le nom local est « localName » et dont l'URI d'espace de noms est « nsURI » ; sinon, renvoie « false ».
QDomNode::NodeType QDomElement::nodeType() const
Renvoie « ElementNode ».
void QDomElement::removeAttribute(const QString &name)
Supprime l'attribut « name » name de cet élément.
Voir également setAttribute(), attribute() et removeAttributeNS().
void QDomElement::removeAttributeNS(const QString &nsURI, const QString &localName)
Supprime l'attribut portant le nom local « localName » et l'URI d'espace de noms « nsURI » de cet élément.
Voir également setAttributeNS(), attributeNS() et removeAttribute().
QDomAttr QDomElement::removeAttributeNode(const QDomAttr &oldAttr)
Supprime l'attribut « oldAttr » de l'élément et renvoie celui-ci.
Voir également attributeNode() et setAttributeNode().
void QDomElement::setAttribute(const QString &name, const QString &value)
Ajoute un attribut nommé « name » dont la valeur est « value ». Si un attribut portant le même nom existe déjà, sa valeur est remplacée par « value ».
Voir également attribute(), setAttributeNode() et setAttributeNS().
void QDomElement::setAttribute(const QString &name, double value)
La mise en forme utilise toujours QLocale::C.
Il s'agit d'une fonction surchargée.
void QDomElement::setAttribute(const QString &name, float value)
La mise en forme utilise toujours QLocale::C.
Il s'agit d'une fonction surchargée.
void QDomElement::setAttribute(const QString &name, int value)
La mise en forme utilise toujours QLocale::C.
Il s'agit d'une fonction surchargée.
void QDomElement::setAttribute(const QString &name, qlonglong value)
La mise en forme utilise toujours QLocale::C.
Il s'agit d'une fonction surchargée.
void QDomElement::setAttribute(const QString &name, qulonglong value)
La mise en forme utilise toujours QLocale::C.
Il s'agit d'une fonction surchargée.
void QDomElement::setAttribute(const QString &name, uint value)
La mise en forme utilise systématiquement 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 dont le nom qualifié est qName et dont l'URI d'espace de noms est nsURI, avec la valeur value. Si un attribut portant le même nom local et la même URI d'espace de noms existe déjà, 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é, c’est le nom local qui est utilisé pour déterminer si la valeur d’un attribut existant doit être remplacée.
Voir également 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 d'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 sur « name ».
Voir également tagName().
QString QDomElement::tagName() const
Renvoie le nom de la balise de cet élément. Pour un élément XML tel que celui-ci :
<img src="myimg.png">la fonction tagname renverrait « img ».
Voir également 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'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 de type ` QDomText ` et ` QDomCDATASection `.
QDomElement &QDomElement::operator=(const QDomElement &other)
Attribue la méthode ` other ` à cet élément DOM.
Les données de la copie sont partagées (copie superficielle) : la modification d'un nœud entraîne également la modification de l'autre. Si vous souhaitez effectuer une copie profonde, utilisez la méthode 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.