QDomNode Class
La classe QDomNode est la classe de base pour tous les nœuds d'un arbre DOM. Plus d'informations...
| En-tête : | #include <QDomNode> |
| CMake : | find_package(Qt6 REQUIRED COMPONENTS Xml)target_link_libraries(mytarget PRIVATE Qt6::Xml) |
| qmake : | QT += xml |
| Héritée par : |
- Liste de tous les membres, y compris les membres hérités
- QDomNode fait partie des classes XML.
Remarque : toutes les fonctions de cette classe sont réentrantes.
Types publics
| enum | EncodingPolicy { EncodingFromDocument, EncodingFromTextStream } |
| enum | NodeType { ElementNode, AttributeNode, TextNode, CDATASectionNode, EntityReferenceNode, …, CharacterDataNode } |
Fonctions publiques
| QDomNode() | |
| QDomNode(const QDomNode &node) | |
| ~QDomNode() | |
| QDomNode | appendChild(const QDomNode &newChild) |
| QDomNamedNodeMap | attributes() const |
| QDomNodeList | childNodes() const |
| void | clear() |
| QDomNode | cloneNode(bool deep = true) const |
| int | columnNumber() const |
| QDomNode | firstChild() const |
| QDomElement | firstChildElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const |
| bool | hasAttributes() const |
| bool | hasChildNodes() const |
| QDomNode | insertAfter(const QDomNode &newChild, const QDomNode &refChild) |
| QDomNode | insertBefore(const QDomNode &newChild, const QDomNode &refChild) |
| bool | isAttr() const |
| bool | isCDATASection() const |
| bool | isCharacterData() const |
| bool | isComment() const |
| bool | isDocument() const |
| bool | isDocumentFragment() const |
| bool | isDocumentType() const |
| bool | isElement() const |
| bool | isEntity() const |
| bool | isEntityReference() const |
| bool | isNotation() const |
| bool | isNull() const |
| bool | isProcessingInstruction() const |
| bool | isSupported(const QString &feature, const QString &version) const |
| bool | isText() const |
| QDomNode | lastChild() const |
| QDomElement | lastChildElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const |
| int | lineNumber() const |
| QString | localName() const |
| QDomNode | namedItem(const QString &name) const |
| QString | namespaceURI() const |
| QDomNode | nextSibling() const |
| QDomElement | nextSiblingElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const |
| QString | nodeName() const |
| QDomNode::NodeType | nodeType() const |
| QString | nodeValue() const |
| void | normalize() |
| QDomDocument | ownerDocument() const |
| QDomNode | parentNode() const |
| QString | prefix() const |
| QDomNode | previousSibling() const |
| QDomElement | previousSiblingElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const |
| QDomNode | removeChild(const QDomNode &oldChild) |
| QDomNode | replaceChild(const QDomNode &newChild, const QDomNode &oldChild) |
| void | save(QTextStream &stream, int indent, QDomNode::EncodingPolicy encodingPolicy = QDomNode::EncodingFromDocument) const |
| void | setNodeValue(const QString &value) |
| void | setPrefix(const QString &pre) |
| QDomAttr | toAttr() const |
| QDomCDATASection | toCDATASection() const |
| QDomCharacterData | toCharacterData() const |
| QDomComment | toComment() const |
| QDomDocument | toDocument() const |
| QDomDocumentFragment | toDocumentFragment() const |
| QDomDocumentType | toDocumentType() const |
| QDomElement | toElement() const |
| QDomEntity | toEntity() const |
| QDomEntityReference | toEntityReference() const |
| QDomNotation | toNotation() const |
| QDomProcessingInstruction | toProcessingInstruction() const |
| QDomText | toText() const |
| bool | operator!=(const QDomNode &other) const |
| QDomNode & | operator=(const QDomNode &other) |
| bool | operator==(const QDomNode &other) const |
Non-membres apparentés
| QTextStream & | operator<<(QTextStream &str, const QDomNode &node) |
Description détaillée
De nombreuses fonctions du DOM renvoient un QDomNode.
Vous pouvez connaître le type d'un noeud en utilisant isAttr(), isCDATASection(), isDocumentFragment(), isDocument(), isDocumentType(), isElement(), isEntityReference(), isText(), isEntity(), isNotation(), isProcessingInstruction(), isCharacterData() et isComment().
Un QDomNode peut être converti en l'une de ses sous-classes en utilisant toAttr(), toCDATASection(), toDocumentFragment(), toDocument(), toDocumentType(), toElement(), toEntityReference(), toText(), toEntity(), toNotation(), toProcessingInstruction(), toCharacterData() ou toComment(). Vous pouvez convertir un nœud en nœud nul avec clear().
Les copies de la classe QDomNode partagent leurs données en utilisant le partage explicite. Cela signifie que la modification d'un nœud changera toutes les copies. Ceci est particulièrement utile en combinaison avec des fonctions qui renvoient un QDomNode, par exemple firstChild(). Vous pouvez faire une copie indépendante (profonde) du nœud avec cloneNode().
Un QDomNode peut être nul, tout comme nullptr. La création d'une copie d'un nœud nul donne un autre nœud nul. Il n'est pas possible de modifier un nœud nul, mais il est possible de lui assigner un autre nœud, éventuellement non nul. Dans ce cas, la copie du nœud nul restera nulle. Vous pouvez vérifier si un QDomNode est nul en appelant isNull(). Le constructeur vide d'un QDomNode (ou de toute autre classe dérivée) crée un nœud nul.
Les nœuds sont insérés avec insertBefore(), insertAfter() ou appendChild(). Vous pouvez remplacer un nœud par un autre en utilisant replaceChild() et supprimer un nœud avec removeChild().
Pour parcourir les nœuds, utilisez firstChild() pour obtenir le premier enfant d'un nœud (s'il y en a un), et nextSibling() pour parcourir. QDomNode fournit également lastChild(), previousSibling() et parentNode(). Pour trouver le premier nœud enfant d'un nom de nœud particulier, utilisez namedItem().
Pour savoir si un nœud a des enfants, utilisez hasChildNodes() et pour obtenir une liste de tous les enfants d'un nœud, utilisez childNodes().
Le nom et la valeur du nœud (dont la signification varie en fonction de son type) sont renvoyés respectivement par nodeName() et nodeValue(). Le type du nœud est renvoyé par nodeType(). La valeur du nœud peut être définie par setNodeValue().
Le document auquel le nœud appartient est renvoyé par ownerDocument().
Les nœuds QDomText adjacents peuvent être fusionnés en un seul nœud avec normalize().
QDomElement Les nœuds ont des attributs qui peuvent être récupérés avec attributes().
QDomElement Les nœuds QDomAttr et namespaceURI peuvent avoir des espaces de noms qui peuvent être récupérés avec (). Leur nom local est récupéré avec localName(), et leur préfixe avec prefix(). Le préfixe peut être défini avec setPrefix().
Vous pouvez écrire la représentation XML du nœud dans un flux de texte avec save().
L'exemple suivant recherche le premier élément d'un document XML et imprime les noms de tous les éléments qui sont ses enfants directs.
QDomDocument d; QString someXML; d.setContent(someXML); QDomNode n = d.firstChild(); while (!n.isNull()) { if (n.isElement()) { QDomElement e = n.toElement(); cout << "Element name: " << qPrintable(e.tagName()) << '\n'; break; } n = n.nextSibling(); }
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 types de membres
enum QDomNode::EncodingPolicy
Cette énumération spécifie comment QDomNode::save() détermine l'encodage à utiliser lors de la sérialisation.
| Constante | Valeur | Description |
|---|---|---|
QDomNode::EncodingFromDocument | 1 | L'encodage est extrait du document. |
QDomNode::EncodingFromTextStream | 2 | L'encodage est récupéré à partir de QTextStream. |
Voir aussi QDomNode::save().
enum QDomNode::NodeType
Cette énumération définit le type de nœud :
| Constante | Valeur | Description |
|---|---|---|
QDomNode::ElementNode | 1 | |
QDomNode::AttributeNode | 2 | |
QDomNode::TextNode | 3 | |
QDomNode::CDATASectionNode | 4 | |
QDomNode::EntityReferenceNode | 5 | |
QDomNode::EntityNode | 6 | |
QDomNode::ProcessingInstructionNode | 7 | |
QDomNode::CommentNode | 8 | |
QDomNode::DocumentNode | 9 | |
QDomNode::DocumentTypeNode | 10 | |
QDomNode::DocumentFragmentNode | 11 | |
QDomNode::NotationNode | 12 | |
QDomNode::BaseNode | 21 | Un objet QDomNode, c'est-à-dire pas une sous-classe de QDomNode. |
QDomNode::CharacterDataNode | 22 |
Documentation des fonctions membres
QDomNode::QDomNode()
Construit un nœud null.
QDomNode::QDomNode(const QDomNode &node)
Construit une copie de node.
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().
[noexcept] QDomNode::~QDomNode()
Détruit l'objet et libère ses ressources.
QDomNode QDomNode::appendChild(const QDomNode &newChild)
Ajoute newChild comme dernier enfant du noeud.
Si newChild est l'enfant d'un autre nœud, il est reparenté à ce nœud. Si newChild est un enfant de ce nœud, sa position dans la liste des enfants est modifiée.
Si newChild est un QDomDocumentFragment, les enfants du fragment sont retirés du fragment et ajoutés.
Si newChild est un QDomElement et que ce nœud est un QDomDocument qui a déjà un nœud élément comme enfant, newChild n'est pas ajouté comme enfant et un nœud nul est renvoyé.
Renvoie une nouvelle référence à newChild en cas de succès ou à null node en cas d'échec.
L'appel de cette fonction à un nœud nul (créé, par exemple, avec le constructeur par défaut) ne fait rien et renvoie un null node.
La spécification DOM interdit l'insertion de nœuds d'attributs, mais pour des raisons historiques, QDom les accepte quand même.
Voir aussi insertBefore(), insertAfter(), replaceChild(), et removeChild().
QDomNamedNodeMap QDomNode::attributes() const
Renvoie une carte des nœuds nommés contenant tous les attributs. Les attributs ne sont fournis que pour les QDomElement.
La modification des attributs dans la carte modifiera également les attributs de ce site QDomNode.
QDomNodeList QDomNode::childNodes() const
Renvoie une liste de tous les nœuds enfants directs.
Le plus souvent, vous appellerez cette fonction sur un objet QDomElement.
Par exemple, si le document XML ressemble à ceci :
<body> <h1>Heading</h1> <p>Hello <b>you</b></p> </body>
La liste des nœuds enfants de l'élément "body" contiendra le nœud créé par la balise <h1> ; et le nœud créé par la balise <p> ;.
Les nœuds de la liste ne sont pas copiés ; par conséquent, si l'on modifie les nœuds de la liste, les enfants de ce nœud seront également modifiés.
Voir aussi firstChild() et lastChild().
void QDomNode::clear()
Convertit le noeud en noeud nul ; s'il n'était pas un noeud nul auparavant, son type et son contenu sont supprimés.
Voir aussi isNull().
QDomNode QDomNode::cloneNode(bool deep = true) const
Crée une copie profonde (et non superficielle) de l'adresse QDomNode.
Si deep est vrai, le clonage est effectué de manière récursive, ce qui signifie que tous les enfants du nœud sont également copiés en profondeur. Si deep est faux, seul le nœud lui-même est copié et la copie n'aura pas de nœuds enfants.
int QDomNode::columnNumber() const
Pour les nœuds créés par QDomDocument::setContent(), cette fonction renvoie le numéro de colonne dans le document XML où le nœud a été analysé. Sinon, elle renvoie -1.
Voir aussi lineNumber() et QDomDocument::setContent().
QDomNode QDomNode::firstChild() const
Renvoie le premier enfant du nœud. S'il n'y a pas de nœud enfant, un null node est renvoyé. La modification du nœud retourné modifiera également le nœud dans l'arborescence du document.
Voir aussi lastChild() et childNodes().
QDomElement QDomNode::firstChildElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const
Renvoie le premier élément enfant avec le nom de balise tagName et l'URI de l'espace de noms namespaceURI. Si tagName est vide, il renvoie le premier élément enfant avec namespaceURI, et si namespaceURI est vide, il renvoie le premier élément enfant avec tagName. Si les deux paramètres sont vides, il renvoie le premier élément enfant. Renvoie un élément nul si aucun élément enfant n'existe.
Voir aussi lastChildElement(), previousSiblingElement() et nextSiblingElement().
bool QDomNode::hasAttributes() const
Renvoie true si le nœud a des attributs ; sinon, renvoie false.
Voir aussi attributes().
bool QDomNode::hasChildNodes() const
Renvoie true si le nœud a un ou plusieurs enfants ; sinon, renvoie false.
QDomNode QDomNode::insertAfter(const QDomNode &newChild, const QDomNode &refChild)
Insère le nœud newChild après le nœud enfant refChild. refChild doit être un enfant direct de ce nœud. Si refChild est null, newChild est ajouté en tant que dernier enfant de ce nœud.
Si newChild est l'enfant d'un autre nœud, il est réparti sur ce nœud. Si newChild est un enfant de ce nœud, sa position dans la liste des enfants est modifiée.
Si newChild est un QDomDocumentFragment, les enfants du fragment sont retirés du fragment et insérés après refChild.
Renvoie une nouvelle référence à newChild en cas de succès ou à null node en cas d'échec.
La spécification DOM interdit l'insertion de nœuds d'attributs, mais pour des raisons historiques, QDom les accepte néanmoins.
Voir aussi insertBefore(), replaceChild(), removeChild(), et appendChild().
QDomNode QDomNode::insertBefore(const QDomNode &newChild, const QDomNode &refChild)
Insère le nœud newChild avant le nœud enfant refChild. refChild doit être un enfant direct de ce nœud. Si refChild est null, newChild est inséré en tant que premier enfant du nœud.
Si newChild est l'enfant d'un autre nœud, il est reparenté à ce nœud. Si newChild est un enfant de ce nœud, sa position dans la liste des enfants est modifiée.
Si newChild est un QDomDocumentFragment, les enfants du fragment sont retirés du fragment et insérés avant refChild.
Renvoie une nouvelle référence à newChild en cas de succès ou à null node en cas d'échec.
La spécification DOM interdit l'insertion de nœuds d'attributs, mais pour des raisons historiques, QDom les accepte néanmoins.
Voir aussi insertAfter(), replaceChild(), removeChild(), et appendChild().
bool QDomNode::isAttr() const
Renvoie true si le nœud est un attribut, sinon renvoie false.
Si cette fonction renvoie true, cela ne signifie pas que cet objet est un QDomAttribute ; vous pouvez obtenir le QDomAttribute avec toAttribute().
Voir aussi toAttr().
bool QDomNode::isCDATASection() const
Renvoie true si le nœud est une section CDATA ; sinon, renvoie false.
Si cette fonction renvoie true, cela ne signifie pas que cet objet est un QDomCDATASection; vous pouvez obtenir le QDomCDATASection avec toCDATASection().
Voir aussi toCDATASection().
bool QDomNode::isCharacterData() const
Renvoie true si le nœud est un nœud de données de caractères ; sinon, renvoie false.
Si cette fonction renvoie true, cela ne signifie pas que cet objet est un QDomCharacterData; vous pouvez obtenir le QDomCharacterData avec toCharacterData().
Voir aussi toCharacterData().
bool QDomNode::isComment() const
Renvoie true si le nœud est un commentaire, sinon renvoie false.
Si cette fonction renvoie true, cela ne signifie pas que cet objet est un QDomComment; vous pouvez obtenir le QDomComment avec toComment().
Voir aussi toComment().
bool QDomNode::isDocument() const
Renvoie true si le nœud est un document ; sinon, renvoie false.
Si cette fonction renvoie true, cela ne signifie pas que cet objet est un QDomDocument; vous pouvez obtenir le QDomDocument avec toDocument().
Voir aussi toDocument().
bool QDomNode::isDocumentFragment() const
Renvoie true si le nœud est un fragment de document, sinon renvoie false.
Si cette fonction renvoie true, cela ne signifie pas que cet objet est un QDomDocumentFragment; vous pouvez obtenir le QDomDocumentFragment avec toDocumentFragment().
Voir aussi toDocumentFragment().
bool QDomNode::isDocumentType() const
Renvoie true si le nœud est un type de document, sinon renvoie false.
Si cette fonction renvoie true, cela ne signifie pas que cet objet est un QDomDocumentType; vous pouvez obtenir le QDomDocumentType avec toDocumentType().
Voir aussi toDocumentType().
bool QDomNode::isElement() const
Renvoie true si le nœud est un élément, sinon renvoie false.
Si cette fonction renvoie true, cela ne signifie pas que cet objet est un QDomElement; vous pouvez obtenir le QDomElement avec toElement().
Voir aussi toElement().
bool QDomNode::isEntity() const
Renvoie true si le nœud est une entité ; sinon, renvoie false.
Si cette fonction renvoie true, cela n'implique pas que cet objet soit un QDomEntity; vous pouvez obtenir le QDomEntity avec toEntity().
Voir aussi toEntity().
bool QDomNode::isEntityReference() const
Renvoie true si le nœud est une référence d'entité, sinon renvoie false.
Si cette fonction renvoie true, cela ne signifie pas que cet objet est un QDomEntityReference; vous pouvez obtenir le QDomEntityReference avec toEntityReference().
Voir aussi toEntityReference().
bool QDomNode::isNotation() const
Renvoie true si le nœud est une notation ; sinon, renvoie false.
Si cette fonction renvoie true, cela n'implique pas que cet objet soit un QDomNotation; vous pouvez obtenir le QDomNotation avec toNotation().
Voir aussi toNotation().
bool QDomNode::isNull() const
Renvoie true si ce nœud est nul (c'est-à-dire s'il n'a pas de type ou de contenu) ; sinon, renvoie false.
bool QDomNode::isProcessingInstruction() const
Renvoie true si le nœud est une instruction de traitement ; sinon, renvoie false.
Si cette fonction renvoie true, cela ne signifie pas que cet objet est un QDomProcessingInstruction; vous pouvez obtenir la QProcessingInstruction avec toProcessingInstruction().
Voir aussi toProcessingInstruction().
bool QDomNode::isSupported(const QString &feature, const QString &version) const
Retourne true si l'implémentation DOM implémente la fonctionnalité feature et que cette fonctionnalité est supportée par ce noeud dans la version version; sinon retourne false.
Voir aussi QDomImplementation::hasFeature().
bool QDomNode::isText() const
Renvoie true si le nœud est un nœud de texte ; sinon, renvoie false.
Si cette fonction renvoie true, cela ne signifie pas que cet objet est un QDomText; vous pouvez obtenir le QDomText avec toText().
Voir aussi toText().
QDomNode QDomNode::lastChild() const
Renvoie le dernier enfant du nœud. S'il n'y a pas de nœud enfant, un null node est renvoyé. La modification du nœud retourné modifiera également le nœud dans l'arborescence du document.
Voir aussi firstChild() et childNodes().
QDomElement QDomNode::lastChildElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const
Renvoie le dernier élément enfant avec le nom de balise tagName et l'URI de l'espace de noms namespaceURI. Si tagName est vide, il renvoie le dernier élément enfant avec namespaceURI, et si namespaceURI est vide, il renvoie le dernier élément enfant avec tagName. Si les deux paramètres sont vides, il renvoie le dernier élément enfant. Renvoie un élément nul si aucun enfant de ce type n'existe.
Voir aussi firstChildElement(), previousSiblingElement() et nextSiblingElement().
int QDomNode::lineNumber() const
Pour les nœuds créés par QDomDocument::setContent(), cette fonction renvoie le numéro de ligne dans le document XML où le nœud a été analysé. Sinon, elle renvoie -1.
Voir aussi columnNumber() et QDomDocument::setContent().
QString QDomNode::localName() const
Si le nœud utilise des espaces de noms, cette fonction renvoie le nom local du nœud ; sinon, elle renvoie une chaîne vide.
Seuls les nœuds de type ElementNode ou AttributeNode peuvent avoir des espaces de noms. Un espace de noms doit avoir été spécifié au moment de la création ; il n'est pas possible d'ajouter un espace de noms par la suite.
Voir aussi prefix(), namespaceURI(), QDomDocument::createElementNS() et QDomDocument::createAttributeNS().
QDomNode QDomNode::namedItem(const QString &name) const
Renvoie le premier nœud enfant direct pour lequel nodeName() est égal à name.
S'il n'existe aucun nœud fils direct de ce type, null node est renvoyé.
Voir aussi nodeName().
QString QDomNode::namespaceURI() const
Renvoie l'URI de l'espace de noms de ce nœud ou une chaîne vide si le nœud n'a pas d'URI d'espace de noms.
Seuls les nœuds de type ElementNode ou AttributeNode peuvent avoir un espace de noms. L'URI de l'espace de noms doit être spécifié au moment de la création et ne peut être modifié ultérieurement.
Voir aussi prefix(), localName(), QDomDocument::createElementNS() et QDomDocument::createAttributeNS().
QDomNode QDomNode::nextSibling() const
Renvoie le frère suivant dans l'arborescence du document. La modification du nœud retourné modifiera également le nœud dans l'arbre du document.
Si vous avez un XML comme celui-ci :
<h1>Heading</h1> <p>The text...</p> <h2>Next heading</h2>
et que cette adresse QDomNode représente la balise <p>, nextSibling() renverra le nœud représentant la balise <h2>.
Voir également previousSibling().
QDomElement QDomNode::nextSiblingElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const
Renvoie l'élément frère suivant avec le nom de balise tagName et l'URI de l'espace de noms namespaceURI. Si tagName est vide, il renvoie l'élément frère suivant avec namespaceURI, et si namespaceURI est vide, il renvoie l'élément enfant frère suivant avec tagName. Si les deux paramètres sont vides, il renvoie l'élément frère suivant. Renvoie un élément nul s'il n'existe pas de frère ou de sœur.
Voir aussi firstChildElement(), previousSiblingElement() et lastChildElement().
QString QDomNode::nodeName() const
Renvoie le nom du nœud.
La signification du nom dépend de la sous-classe :
| Nom | Signification |
|---|---|
| QDomAttr | Le nom de l'attribut |
| QDomCDATASection | La chaîne "#cdata-section" |
| QDomComment | La chaîne "#comment" |
| QDomDocument | La chaîne "#document" |
| QDomDocumentFragment | La chaîne "#document-fragment" |
| QDomDocumentType | Le nom du type de document |
| QDomElement | Le nom de la balise |
| QDomEntity | Le nom de l'entité |
| QDomEntityReference | Le nom de l'entité référencée |
| QDomNotation | Le nom de la notation |
| QDomProcessingInstruction | La cible de l'instruction de traitement |
| QDomText | La chaîne "#text" |
Note : Cette fonction ne tient pas compte de la présence d'espaces de noms lors du traitement des noms des nœuds d'éléments et d'attributs. Par conséquent, le nom renvoyé peut contenir n'importe quel préfixe d'espace de noms présent. Pour obtenir le nom de nœud d'un élément ou d'un attribut, utilisez localName() ; pour obtenir le préfixe d'espace de noms, utilisez namespaceURI().
Voir également nodeValue().
QDomNode::NodeType QDomNode::nodeType() const
Renvoie le type du nœud.
Voir aussi toAttr(), toCDATASection(), toDocumentFragment(), toDocument(), toDocumentType(), toElement(), toEntityReference(), toText(), toEntity(), toNotation(), toProcessingInstruction(), toCharacterData(), et toComment().
QString QDomNode::nodeValue() const
Renvoie la valeur du nœud.
La signification de la valeur dépend de la sous-classe :
| Nom | Signification |
|---|---|
| QDomAttr | La valeur de l'attribut |
| QDomCDATASection | Le contenu de la section CDATA |
| QDomComment | Le commentaire |
| QDomProcessingInstruction | Les données de l'instruction de traitement |
| QDomText | Le texte |
Toutes les autres sous-classes n'ont pas de valeur de nœud et renvoient une chaîne vide.
Voir aussi setNodeValue() et nodeName().
void QDomNode::normalize()
L'appel à normalize() sur un élément convertit tous ses enfants en une forme standard. Cela signifie que les objets QDomText adjacents seront fusionnés en un seul objet texte (les nœudsQDomCDATASection ne sont pas fusionnés).
QDomDocument QDomNode::ownerDocument() const
Renvoie le document auquel appartient ce nœud.
QDomNode QDomNode::parentNode() const
Renvoie le nœud parent. Si ce nœud n'a pas de parent, un nœud nul est renvoyé (c'est-à-dire un nœud pour lequel isNull() renvoie true).
QString QDomNode::prefix() const
Renvoie le préfixe d'espace de noms du noeud ou une chaîne vide si le noeud n'a pas de préfixe d'espace de noms.
Seuls les nœuds de type ElementNode ou AttributeNode peuvent avoir des espaces de noms. Un préfixe d'espace de noms doit être spécifié au moment de la création. Si un nœud a été créé avec un préfixe d'espace de noms, vous pouvez le modifier ultérieurement à l'aide de setPrefix().
Si vous créez un élément ou un attribut avec QDomDocument::createElement() ou QDomDocument::createAttribute(), le préfixe sera une chaîne vide. Si vous utilisez QDomDocument::createElementNS() ou QDomDocument::createAttributeNS() à la place, le préfixe ne sera pas une chaîne vide, mais il pourrait être une chaîne vide si le nom n'a pas de préfixe.
Voir aussi setPrefix(), localName(), namespaceURI(), QDomDocument::createElementNS() et QDomDocument::createAttributeNS().
QDomNode QDomNode::previousSibling() const
Renvoie le frère précédent dans l'arborescence du document. La modification du nœud retourné entraînera également la modification du nœud dans l'arborescence du document.
Par exemple, si vous avez un XML comme celui-ci :
<h1>Heading</h1> <p>The text...</p> <h2>Next heading</h2>
et que ce QDomNode représente la balise <p> ;, previousSibling() renverra le nœud représentant la balise <h1> ;.
Voir également nextSibling().
QDomElement QDomNode::previousSiblingElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const
Renvoie l'élément frère précédent avec le nom de balise tagName et l'URI de l'espace de noms namespaceURI. Si tagName est vide, il renvoie l'élément frère précédent avec namespaceURI, et si namespaceURI est vide, il renvoie l'élément frère précédent avec tagName. Si les deux paramètres sont vides, il renvoie l'élément frère précédent. Renvoie un élément nul s'il n'existe pas de frère ou de sœur de ce type.
Voir aussi firstChildElement(), nextSiblingElement() et lastChildElement().
QDomNode QDomNode::removeChild(const QDomNode &oldChild)
Supprime oldChild de la liste des enfants. oldChild doit être un enfant direct de ce noeud.
Renvoie une nouvelle référence à oldChild en cas de succès ou à null node en cas d'échec.
Voir aussi insertBefore(), insertAfter(), replaceChild() et appendChild().
QDomNode QDomNode::replaceChild(const QDomNode &newChild, const QDomNode &oldChild)
Remplace oldChild par newChild. oldChild doit être un enfant direct de ce nœud.
Si newChild est l'enfant d'un autre nœud, il est reparenté à ce nœud. Si newChild est un enfant de ce nœud, sa position dans la liste des enfants est modifiée.
Si newChild est un QDomDocumentFragment, alors oldChild est remplacé par tous les enfants du fragment.
Renvoie une nouvelle référence à oldChild en cas de succès ou à null node en cas d'échec.
Voir aussi insertBefore(), insertAfter(), removeChild() et appendChild().
void QDomNode::save(QTextStream &stream, int indent, QDomNode::EncodingPolicy encodingPolicy = QDomNode::EncodingFromDocument) const
Écrit la représentation XML du nœud et de tous ses enfants dans le flux stream. Cette fonction utilise indent comme espace pour indenter le noeud.
Si le document contient des caractères XML non valides ou des caractères qui ne peuvent pas être encodés dans l'encodage donné, le résultat et le comportement sont indéfinis.
Si encodingPolicy est QDomNode::EncodingFromDocument et que ce nœud est un nœud de document, le codage du flux de texte stream est défini en traitant une instruction de traitement portant le nom "xml" comme une déclaration XML, s'il en existe une, et sinon il est par défaut UTF-8. Les déclarations XML ne sont pas des instructions de traitement, mais ce comportement existe pour des raisons historiques. Si ce nœud n'est pas un nœud de document, l'encodage du flux de texte est utilisé.
Si encodingPolicy est EncodingFromTextStream et que ce noeud est un noeud de document, cette fonction se comporte comme save(QTextStream &str, int indent) à l'exception du fait que l'encodage spécifié dans le flux de texte stream est utilisé.
Si le document contient des caractères XML non valides ou des caractères qui ne peuvent pas être encodés dans l'encodage donné, le résultat et le comportement sont indéfinis.
void QDomNode::setNodeValue(const QString &value)
Fixe la valeur du nœud à value.
Voir aussi nodeValue().
void QDomNode::setPrefix(const QString &pre)
Si le nœud a un préfixe d'espace de noms, cette fonction change le préfixe d'espace de noms du nœud en pre. Sinon, cette fonction ne fait rien.
Seuls les nœuds de type ElementNode ou AttributeNode peuvent avoir des espaces de noms. Un préfixe d'espace de noms doit être spécifié au moment de la création ; il n'est pas possible d'ajouter un préfixe d'espace de noms par la suite.
Voir aussi prefix(), localName(), namespaceURI(), QDomDocument::createElementNS() et QDomDocument::createAttributeNS().
QDomAttr QDomNode::toAttr() const
Convertit un QDomNode en QDomAttr. Si le nœud n'est pas un attribut, l'objet retourné sera null.
Voir aussi isAttr().
QDomCDATASection QDomNode::toCDATASection() const
Convertit un QDomNode en QDomCDATASection. Si le nœud n'est pas une section CDATA, l'objet retourné sera null.
Voir aussi isCDATASection().
QDomCharacterData QDomNode::toCharacterData() const
Convertit un QDomNode en QDomCharacterData. Si le noeud n'est pas un noeud de données de caractères, l'objet retourné sera null.
Voir aussi isCharacterData().
QDomComment QDomNode::toComment() const
Convertit un QDomNode en QDomComment. Si le noeud n'est pas un commentaire, l'objet retourné sera null.
Voir aussi isComment().
QDomDocument QDomNode::toDocument() const
Convertit un QDomNode en QDomDocument. Si le noeud n'est pas un document, l'objet retourné sera null.
Voir aussi isDocument().
QDomDocumentFragment QDomNode::toDocumentFragment() const
Convertit un QDomNode en QDomDocumentFragment. Si le noeud n'est pas un fragment de document, l'objet retourné sera null.
Voir aussi isDocumentFragment().
QDomDocumentType QDomNode::toDocumentType() const
Convertit un QDomNode en QDomDocumentType. Si le noeud n'est pas un type de document, l'objet retourné sera null.
Voir aussi isDocumentType().
QDomElement QDomNode::toElement() const
Convertit un QDomNode en QDomElement. Si le noeud n'est pas un élément, l'objet retourné sera null.
Voir aussi isElement().
QDomEntity QDomNode::toEntity() const
Convertit un QDomNode en QDomEntity. Si le noeud n'est pas une entité, l'objet retourné sera null.
Voir aussi isEntity().
QDomEntityReference QDomNode::toEntityReference() const
Convertit un QDomNode en QDomEntityReference. Si le noeud n'est pas une référence d'entité, l'objet retourné sera null.
Voir aussi isEntityReference().
QDomNotation QDomNode::toNotation() const
Convertit un QDomNode en QDomNotation. Si le noeud n'est pas une notation, l'objet retourné sera null.
Voir aussi isNotation().
QDomProcessingInstruction QDomNode::toProcessingInstruction() const
Convertit un QDomNode en QDomProcessingInstruction. Si le noeud n'est pas une instruction de traitement, l'objet retourné sera null.
Voir aussi isProcessingInstruction().
QDomText QDomNode::toText() const
Convertit un QDomNode en QDomText. Si le noeud n'est pas un texte, l'objet retourné sera null.
Voir aussi isText().
bool QDomNode::operator!=(const QDomNode &other) const
Renvoie true si other et ce nœud DOM ne sont pas égaux ; sinon, renvoie false.
QDomNode &QDomNode::operator=(const QDomNode &other)
Assigne une copie de other à ce nœud du DOM.
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().
bool QDomNode::operator==(const QDomNode &other) const
Retourne true si other et ce noeud DOM sont égaux ; sinon retourne false.
Toute instance de QDomNode agit comme une référence à une structure de données sous-jacente dans QDomDocument. Le test d'égalité vérifie si les deux références pointent vers le même nœud sous-jacent. Par exemple, le test d'égalité vérifie si les deux références pointent vers le même nœud sous-jacent :
QDomDocument document; QDomElement element1 = document.documentElement(); QDomElement element2 = element1;
Les deux nœuds (QDomElement est une sous-classe de QDomNode ) font tous deux référence à l'élément racine du document, et element1 == element2 renverra true. D'autre part, même si les deux nœuds sont des éléments vides, ils renvoient une réponse positive :
QDomElement element3 = document.createElement("MyElement"); QDomElement element4 = document.createElement("MyElement");
Même si les deux nœuds sont des éléments vides portant le même nom, element3 == element4 renverra un message faux car ils font référence à deux nœuds différents dans la structure de données sous-jacente.
Non-membres apparentés
QTextStream &operator<<(QTextStream &str, const QDomNode &node)
Écrit la représentation XML du nœud node et de tous ses enfants dans le flux str.
© 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.