QDomElement Class
Die Klasse QDomElement repräsentiert ein Element im DOM-Baum. Mehr...
Kopfzeile: | #include <QDomElement> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Xml) target_link_libraries(mytarget PRIVATE Qt6::Xml) |
qmake: | QT += xml |
Vererbungen: | QDomNode |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QDomElement ist Teil von XML Classes.
Hinweis: Alle Funktionen in dieser Klasse sind reentrant.
Öffentliche Funktionen
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) |
Detaillierte Beschreibung
Elemente haben ein tagName() und null oder mehr Attribute, die mit ihnen verbunden sind. Der Tag-Name kann mit setTagName() geändert werden.
Elementattribute werden durch QDomAttr Objekte dargestellt, die mit den Funktionen attribute() und attributeNode() abgefragt werden können. Sie können Attribute mit den Funktionen setAttribute() und setAttributeNode() setzen. Attribute können mit removeAttribute() entfernt werden. Zu diesen Funktionen gibt es namensraumabhängige Äquivalente, d.h. setAttributeNS(), setAttributeNodeNS() und removeAttributeNS().
Wenn Sie auf den Text eines Knotens zugreifen wollen, verwenden Sie text(), z. B.
QDomElement e = //... //... QString s = e.text()
Die Funktion text() arbeitet rekursiv, um den Text zu finden (da nicht alle Elemente Text enthalten). Wenn Sie den gesamten Text in allen Unterknoten eines Knotens finden wollen, iterieren Sie über die Unterknoten und suchen nach QDomText, z.B.
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(); }
Beachten Sie, dass wir versuchen, jeden Knoten in einen Textknoten umzuwandeln und text() zu verwenden, anstatt firstChild().toText().data() oder n.toText().data() direkt auf den Knoten anzuwenden, da der Knoten möglicherweise kein Textelement ist.
Sie können mit elementsByTagName() oder elementsByTagNameNS() eine Liste aller Nachkommen eines Elements erhalten, die einen bestimmten Tag-Namen haben.
Um die Elemente eines Dom-Dokuments zu durchsuchen, verwenden Sie firstChildElement(), lastChildElement(), nextSiblingElement() und previousSiblingElement(). Um zum Beispiel alle untergeordneten Elemente mit dem Namen "entry" in einem Wurzelelement mit dem Namen "database" zu durchsuchen, können Sie dies verwenden:
QDomDocument doc = // ... QDomElement root = doc.firstChildElement("database"); QDomElement elt = root.firstChildElement("entry"); for (; !elt.isNull(); elt = elt.nextSiblingElement("entry")) { // ... }
Weitere Informationen über das Document Object Model finden Sie unter Level 1 und Level 2 Core. Eine allgemeinere Einführung in die DOM-Implementierung finden Sie in der Dokumentation QDomDocument.
Dokumentation der Mitgliedsfunktionen
QDomElement::QDomElement()
Konstruiert ein leeres Element. Verwenden Sie die Funktion QDomDocument::createElement(), um Elemente mit Inhalt zu konstruieren.
QDomElement::QDomElement(const QDomElement &element)
Konstruiert eine Kopie von element.
Die Daten der Kopie werden gemeinsam genutzt (oberflächliche Kopie): Die Änderung eines Knotens wird auch den anderen verändern. Wenn Sie eine tiefe Kopie erstellen möchten, verwenden Sie cloneNode().
QString QDomElement::attribute(const QString &name, const QString &defValue = QString()) const
Gibt das Attribut mit dem Namen name zurück. Wenn das Attribut nicht existiert, wird defValue zurückgegeben.
Siehe auch setAttribute(), attributeNode(), setAttributeNode(), und attributeNS().
QString QDomElement::attributeNS(const QString &nsURI, const QString &localName, const QString &defValue = QString()) const
Gibt das Attribut mit dem lokalen Namen localName und dem Namespace URI nsURI zurück. Wenn das Attribut nicht existiert, wird defValue zurückgegeben.
Siehe auch setAttributeNS(), attributeNodeNS(), setAttributeNodeNS(), und attribute().
QDomAttr QDomElement::attributeNode(const QString &name)
Gibt das Objekt QDomAttr zurück, das dem Attribut mit der Bezeichnung name entspricht. Wenn kein solches Attribut existiert, wird null attribute zurückgegeben.
Siehe auch setAttributeNode(), attribute(), setAttribute(), und attributeNodeNS().
QDomAttr QDomElement::attributeNodeNS(const QString &nsURI, const QString &localName)
Gibt das Objekt QDomAttr zurück, das dem Attribut mit dem lokalen Namen localName und dem Namespace URI nsURI entspricht. Wenn kein solches Attribut existiert, wird null attribute zurückgegeben.
Siehe auch setAttributeNodeNS(), setAttributeNode(), attribute(), und setAttribute().
QDomNamedNodeMap QDomElement::attributes() const
Gibt eine QDomNamedNodeMap zurück, die alle Attribute dieses Elements enthält.
Siehe auch attribute(), setAttribute(), attributeNode(), und setAttributeNode().
QDomNodeList QDomElement::elementsByTagName(const QString &tagname) const
Gibt eine QDomNodeList zurück, die alle Nachkommen dieses Elements mit dem Namen tagname enthält, die bei einer Traversierung des Elementteilbaums mit diesem Element als Wurzel gefunden wurden. Die Reihenfolge der Elemente in der zurückgegebenen Liste ist die Reihenfolge, in der sie während des Preorder-Traversals angetroffen werden.
Siehe auch elementsByTagNameNS() und QDomDocument::elementsByTagName().
QDomNodeList QDomElement::elementsByTagNameNS(const QString &nsURI, const QString &localName) const
Gibt eine QDomNodeList zurück, die alle Nachkommen dieses Elements mit dem lokalen Namen localName und dem Namespace-URI nsURI enthält, die bei einem Preorder-Traversal des Elementteilbaums mit diesem Element als Wurzel gefunden wurden. Die Reihenfolge der Elemente in der zurückgegebenen Liste ist die Reihenfolge, in der sie während des Preorder-Traversals angetroffen werden.
Siehe auch elementsByTagName() und QDomDocument::elementsByTagNameNS().
bool QDomElement::hasAttribute(const QString &name) const
Gibt true
zurück, wenn dieses Element ein Attribut namens name hat; andernfalls wird false
zurückgegeben.
Hinweis: Diese Funktion berücksichtigt nicht das Vorhandensein von Namespaces. Daher wird der angegebene Name gegen vollqualifizierte Attributnamen getestet, die alle eventuell vorhandenen Namespace-Präfixe enthalten.
Verwenden Sie hasAttributeNS(), um explizit nach Attributen mit bestimmten Namespaces und Namen zu suchen.
bool QDomElement::hasAttributeNS(const QString &nsURI, const QString &localName) const
Gibt true
zurück, wenn dieses Element ein Attribut mit dem lokalen Namen localName und dem Namespace URI nsURI hat; andernfalls wird false zurückgegeben.
QDomNode::NodeType QDomElement::nodeType() const
Rückgabe ElementNode
.
void QDomElement::removeAttribute(const QString &name)
Entfernt das Attribut namens name name aus diesem Element.
Siehe auch setAttribute(), attribute(), und removeAttributeNS().
void QDomElement::removeAttributeNS(const QString &nsURI, const QString &localName)
Entfernt das Attribut mit dem lokalen Namen localName und dem Namespace URI nsURI aus diesem Element.
Siehe auch setAttributeNS(), attributeNS(), und removeAttribute().
QDomAttr QDomElement::removeAttributeNode(const QDomAttr &oldAttr)
Entfernt das Attribut oldAttr aus dem Element und gibt es zurück.
Siehe auch attributeNode() und setAttributeNode().
void QDomElement::setAttribute(const QString &name, const QString &value)
Fügt ein Attribut namens name mit dem Wert value hinzu. Wenn ein Attribut mit demselben Namen existiert, wird sein Wert durch value ersetzt.
Siehe auch attribute(), setAttributeNode(), und setAttributeNS().
void QDomElement::setAttribute(const QString &name, double value)
Dies ist eine überladene Funktion.
Für die Formatierung wird immer QLocale::C verwendet.
void QDomElement::setAttribute(const QString &name, float value)
Dies ist eine überladene Funktion.
Für die Formatierung wird immer QLocale::C verwendet.
void QDomElement::setAttribute(const QString &name, int value)
Dies ist eine überladene Funktion.
Für die Formatierung wird immer QLocale::C verwendet.
void QDomElement::setAttribute(const QString &name, qlonglong value)
Dies ist eine überladene Funktion.
Für die Formatierung wird immer QLocale::C verwendet.
void QDomElement::setAttribute(const QString &name, qulonglong value)
Dies ist eine überladene Funktion.
Für die Formatierung wird immer QLocale::C verwendet.
void QDomElement::setAttribute(const QString &name, uint value)
Dies ist eine überladene Funktion.
Für die Formatierung wird immer QLocale::C verwendet.
void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, const QString &value)
Fügt ein Attribut mit dem qualifizierten Namen qName und dem Namespace-URI nsURI mit dem Wert value hinzu. Wenn ein Attribut mit demselben lokalen Namen und Namespace-URI existiert, wird sein Präfix durch das Präfix von qName und sein Wert durch value ersetzt.
Obwohl qName der qualifizierte Name ist, wird der lokale Name verwendet, um zu entscheiden, ob der Wert eines vorhandenen Attributs ersetzt werden soll.
Siehe auch attributeNS(), setAttributeNodeNS(), und setAttribute().
void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, double value)
Dies ist eine überladene Funktion.
void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, int value)
Dies ist eine überladene Funktion.
void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, qlonglong value)
Dies ist eine überladene Funktion.
void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, qulonglong value)
Dies ist eine überladene Funktion.
void QDomElement::setAttributeNS(const QString &nsURI, const QString &qName, uint value)
Dies ist eine überladene Funktion.
QDomAttr QDomElement::setAttributeNode(const QDomAttr &newAttr)
Fügt das Attribut newAttr zu diesem Element hinzu.
Wenn das Element ein anderes Attribut mit demselben Namen wie newAttr hat, ersetzt diese Funktion dieses Attribut und gibt es zurück; andernfalls gibt die Funktion ein null attribute zurück.
Siehe auch attributeNode(), setAttribute(), und setAttributeNodeNS().
QDomAttr QDomElement::setAttributeNodeNS(const QDomAttr &newAttr)
Fügt das Attribut newAttr zu diesem Element hinzu.
Wenn das Element ein anderes Attribut mit demselben lokalen Namen und Namespace-URI wie newAttr hat, ersetzt diese Funktion dieses Attribut und gibt es zurück; andernfalls gibt die Funktion ein null attribute zurück.
Siehe auch attributeNodeNS(), setAttributeNS(), und setAttributeNode().
void QDomElement::setTagName(const QString &name)
Setzt den Tag-Namen dieses Elements auf name.
Siehe auch tagName().
QString QDomElement::tagName() const
Gibt den Tag-Namen dieses Elements zurück. Für ein XML-Element wie dieses:
<img src="myimg.png">
würde der Tagname "img" zurückgeben.
Siehe auch setTagName().
QString QDomElement::text() const
Gibt den Text des Elements oder eine leere Zeichenkette zurück.
Beispiel:
<h1>Hello <b>Qt</b> <![CDATA[<xml is cool>]]></h1>
Die Funktion text() des QDomElement für das Tag <h1>
gibt den folgenden Text zurück:
Hello Qt <xml is cool>
Kommentare werden von dieser Funktion ignoriert. Sie wertet nur die Objekte QDomText und QDomCDATASection aus.
QDomElement &QDomElement::operator=(const QDomElement &other)
Weist diesem DOM-Element other zu.
Die Daten der Kopie werden gemeinsam genutzt (flache Kopie): Die Änderung eines Knotens wird auch den anderen verändern. Wenn Sie eine tiefe Kopie erstellen möchten, verwenden Sie cloneNode().
© 2025 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.