Auf dieser Seite

QDomNode Class

Die Klasse „QDomNode“ ist die Basisklasse für alle Knoten in einem DOM-Baum. Mehr...

Header: #include <QDomNode>
CMake: find_package(Qt6 REQUIRED COMPONENTS Xml)
target_link_libraries(mytarget PRIVATE Qt6::Xml)
qmake: QT += xml
Vererbt an:
10 Typen

QDomAttr, QDomCharacterData, QDomDocument, QDomDocumentFragment, QDomDocumentType, QDomElement, QDomEntity, QDomEntityReference, QDomNotation sowie QDomProcessingInstruction

Hinweis: Alle Funktionen dieser Klasse sind reentrant.

Öffentliche Typen

enum EncodingPolicy { EncodingFromDocument, EncodingFromTextStream }
enum NodeType { ElementNode, AttributeNode, TextNode, CDATASectionNode, EntityReferenceNode, …, CharacterDataNode }

Öffentliche Funktionen

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
QTextStream &operator<<(QTextStream &str, const QDomNode &node)

Ausführliche Beschreibung

Viele Funktionen im DOM geben einen QDomNode zurück.

Den Typ eines Knotens können Sie mit den folgenden Methoden ermitteln: ` isAttr()`, ` isCDATASection()`, ` isDocumentFragment()`, ` isDocument()`, ` isDocumentType()`, ` isElement()`, ` isEntityReference()`, ` isText()`, ` isEntity()`, ` isNotation()`, ` isProcessingInstruction()`, ` isCharacterData()` und ` isComment()`.

toCharacterDataEin `QDomNode` kann mithilfe von ` toAttr()`, ` toCDATASection()`, ` toDocumentFragment()`, ` toDocument()`, ` toDocumentType()`, ` toElement()`, ` toEntityReference()`, ` toText()`, ` toEntity()`, ` toNotation()`, ` toProcessingInstruction()` oder ` toComment()` in eine seiner Unterklassen konvertiert werden. Mit ` clear()` können Sie einen Knoten in einen Null-Knoten konvertieren.

Kopien der Klasse `QDomNode` teilen sich ihre Daten durch explizite gemeinsame Nutzung. Das bedeutet, dass die Änderung eines Knotens alle Kopien verändert. Dies ist besonders nützlich in Kombination mit Funktionen, die einen `QDomNode` zurückgeben, z. B. ` firstChild()`. Mit ` cloneNode()` können Sie eine unabhängige (tiefe) Kopie des Knotens erstellen.

Ein `QDomNode` kann den Wert `null` annehmen, ähnlich wie ` nullptr`. Das Erstellen einer Kopie eines `null`-Knotens führt zu einem weiteren `null`-Knoten. Es ist nicht möglich, einen `null`-Knoten zu ändern, aber es ist möglich, ihm einen anderen, möglicherweise nicht `null`-Knoten zuzuweisen. In diesem Fall bleibt die Kopie des Null-Knotens weiterhin null. Sie können prüfen, ob ein QDomNode null ist, indem Sie isNull() aufrufen. Der leere Konstruktor eines QDomNode (oder einer der abgeleiteten Klassen) erstellt einen Null-Knoten.

Knoten werden mit ` insertBefore()`, ` insertAfter()` oder ` appendChild()` eingefügt. Sie können einen Knoten mit ` replaceChild()` durch einen anderen ersetzen und einen Knoten mit ` removeChild()` entfernen.

Um Knoten zu durchlaufen, verwenden Sie „ firstChild()“, um das erste Kind eines Knotens (falls vorhanden) abzurufen, und „ nextSibling()“, um den Knoten zu durchlaufen. QDomNode bietet außerdem „ lastChild()“, „ previousSibling()“ und „ parentNode()“ an. Um den ersten Kindknoten mit einem bestimmten Knotennamen zu finden, verwenden Sie „ namedItem()“.

Um festzustellen, ob ein Knoten Kinderknoten hat, verwenden Sie ` hasChildNodes()`; um eine Liste aller Kinderknoten eines Knotens zu erhalten, verwenden Sie ` childNodes()`.

Der Name und der Wert des Knotens (dessen Bedeutung je nach Typ variiert) werden jeweils von nodeName() bzw. nodeValue() zurückgegeben. Der Typ des Knotens wird von nodeType() zurückgegeben. Der Wert des Knotens kann mit setNodeValue() gesetzt werden.

Das Dokument, zu dem der Knoten gehört, wird von ` ownerDocument()` zurückgegeben.

Benachbarte „ QDomText “-Knoten können mit „ normalize()“ zu einem einzigen Knoten zusammengeführt werden.

QDomElement Knoten verfügen über Attribute, die mit ` attributes()` abgerufen werden können.

QDomElement Knoten vom Typ „ QDomAttr “ können Namespaces haben, die mit ` namespaceURI()` abgerufen werden können. Ihr lokaler Name wird mit ` localName()` abgerufen, ihr Präfix mit ` prefix()`. Das Präfix kann mit ` setPrefix()` festgelegt werden.

Sie können die XML-Darstellung des Knotens mit ` save()` in einen Textstrom schreiben.

Das folgende Beispiel sucht nach dem ersten Element in einem XML-Dokument und gibt die Namen aller Elemente aus, die dessen direkte untergeordnete Elemente sind.

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

Weitere Informationen zum 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 zu „ QDomDocument “.

Dokumentation zu Mitgliedstypen

enum QDomNode::EncodingPolicy

Diese Enumeration legt fest, wie ` QDomNode::save()` bestimmt, welche Kodierung bei der Serialisierung verwendet werden soll.

KonstanteWertBeschreibung
QDomNode::EncodingFromDocument1Die Kodierung wird aus dem Dokument abgerufen.
QDomNode::EncodingFromTextStream2Die Kodierung wird von der ` QTextStream` abgerufen.

Siehe auch ` QDomNode::save()`.

enum QDomNode::NodeType

Diese Enumeration definiert den Typ des Knotens:

KonstanteWertBeschreibung
QDomNode::ElementNode1 
QDomNode::AttributeNode2 
QDomNode::TextNode3 
QDomNode::CDATASectionNode4 
QDomNode::EntityReferenceNode5 
QDomNode::EntityNode6 
QDomNode::ProcessingInstructionNode7 
QDomNode::CommentNode8 
QDomNode::DocumentNode9 
QDomNode::DocumentTypeNode10 
QDomNode::DocumentFragmentNode11 
QDomNode::NotationNode12 
QDomNode::BaseNode21Ein „ QDomNode “-Objekt, d. h. keine Unterklasse von „ QDomNode “.
QDomNode::CharacterDataNode22 

Dokumentation zu den Member-Funktionen

QDomNode::QDomNode()

Erstellt einen „ null “-Knoten.

QDomNode::QDomNode(const QDomNode &node)

Erstellt eine Kopie von ` node`.

Die Daten der Kopie werden gemeinsam genutzt (flache Kopie): Das Ändern eines Knotens wirkt sich auch auf den anderen aus. Wenn Sie eine tiefe Kopie erstellen möchten, verwenden Sie „ cloneNode()“.

[noexcept] QDomNode::~QDomNode()

Löscht das Objekt und gibt dessen Ressourcen frei.

QDomNode QDomNode::appendChild(const QDomNode &newChild)

Fügt „ newChild “ als letztes untergeordnetes Element des Knotens hinzu.

Wenn „ newChild “ ein Kind eines anderen Knotens ist, wird es diesem Knoten als Kind zugeordnet. Wenn „ newChild “ ein Kind dieses Knotens ist, ändert sich seine Position in der Liste der Kinder.

Ist newChild ein QDomDocumentFragment, werden die Kinder des Fragments aus dem Fragment entfernt und angehängt.

Ist newChild ein QDomElement und handelt es sich bei diesem Knoten um einen QDomDocument, der bereits einen Elementknoten als Kind besitzt, wird newChild nicht als Kind hinzugefügt und ein Nullknoten zurückgegeben.

Gibt bei Erfolg eine neue Referenz auf ` newChild ` zurück, bei Fehlschlag einen ` null node `.

Der Aufruf dieser Funktion auf einem Null-Knoten (der beispielsweise mit dem Standardkonstruktor erstellt wurde) hat keine Auswirkung und gibt einen ` null node` zurück.

Die DOM-Spezifikation verbietet das Einfügen von Attributknoten, doch aus historischen Gründen akzeptiert QDom diese dennoch.

Siehe auch insertBefore(), insertAfter(), replaceChild() und removeChild().

QDomNamedNodeMap QDomNode::attributes() const

Gibt eine benannte Knotenzuordnung aller Attribute zurück. Attribute werden nur für QDomElementbereitgestellt.

Eine Änderung der Attribute in der Zuordnung führt auch zu einer Änderung der Attribute dieses „ QDomNode “.

QDomNodeList QDomNode::childNodes() const

Gibt eine Liste aller direkten untergeordneten Knoten zurück.

Meistens rufen Sie diese Funktion für ein „ QDomElement “-Objekt auf.

Wenn das XML-Dokument beispielsweise so aussieht:

<body>
<h1>Heading</h1>
<p>Hello <b>you</b></p>
</body>

Dann enthält die Liste der untergeordneten Knoten des „body“-Elements den durch das &lt;h1&gt;-Tag erstellten Knoten und den durch das &lt;p&gt;-Tag erstellten Knoten.

Die Knoten in der Liste werden nicht kopiert; eine Änderung der Knoten in der Liste wirkt sich daher auch auf die untergeordneten Knoten dieses Knotens aus.

Siehe auch firstChild() und lastChild().

void QDomNode::clear()

Wandelt den Knoten in einen Nullknoten um; falls es sich zuvor nicht um einen Nullknoten handelte, werden sein Typ und sein Inhalt gelöscht.

Siehe auch ` isNull()`.

QDomNode QDomNode::cloneNode(bool deep = true) const

Erstellt eine tiefe (keine flache) Kopie des „ QDomNode “.

Ist „ deep “ wahr, erfolgt das Klonen rekursiv, was bedeutet, dass auch alle untergeordneten Knoten des Knotens tief kopiert werden. Ist „ deep “ falsch, wird nur der Knoten selbst kopiert, und die Kopie enthält keine untergeordneten Knoten.

int QDomNode::columnNumber() const

Für Knoten, die mit QDomDocument::setContent() erstellt wurden, gibt diese Funktion die Spaltennummer im XML-Dokument zurück, an der der Knoten geparst wurde. Andernfalls wird -1 zurückgegeben.

Siehe auch ` lineNumber()` und ` QDomDocument::setContent()`.

QDomNode QDomNode::firstChild() const

Gibt das erste untergeordnete Element des Knotens zurück. Wenn kein untergeordnetes Element vorhanden ist, wird ein ` null node ` zurückgegeben. Durch Ändern des zurückgegebenen Knotens wird auch der Knoten im Dokumentbaum geändert.

Siehe auch „ lastChild()“ und „ childNodes()“.

QDomElement QDomNode::firstChildElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const

Gibt das erste untergeordnete Element mit dem Tag-Namen „ tagName “ und der Namespace-URI „ namespaceURI “ zurück. Ist „ tagName “ leer, wird das erste untergeordnete Element mit „ namespaceURI “ zurückgegeben; ist „ namespaceURI “ leer, wird das erste untergeordnete Element mit „ tagName “ zurückgegeben. Sind beide Parameter leer, wird das erste untergeordnete Element zurückgegeben. Gibt ein Null-Element zurück, wenn kein solches untergeordnetes Element existiert.

Siehe auch „ lastChildElement()“, „ previousSiblingElement()“ und „ nextSiblingElement()“.

bool QDomNode::hasAttributes() const

Gibt „ true “ zurück, wenn der Knoten Attribute besitzt; andernfalls wird „ false “ zurückgegeben.

Siehe auch attributes().

bool QDomNode::hasChildNodes() const

Gibt „ true “ zurück, wenn der Knoten ein oder mehrere untergeordnete Elemente hat; andernfalls wird „ false “ zurückgegeben.

QDomNode QDomNode::insertAfter(const QDomNode &newChild, const QDomNode &refChild)

Fügt den Knoten „ newChild “ hinter dem untergeordneten Knoten „ refChild “ ein. „ refChild “ muss ein direktes Kind dieses Knotens sein. Wenn „ refChild “ ein „ null “ ist, wird „ newChild “ als letztes Kind dieses Knotens angehängt.

Wenn newChild ein Kind eines anderen Knotens ist, wird es diesem Knoten als Kind zugewiesen. Wenn newChild ein Kind dieses Knotens ist, wird seine Position in der Liste der Kinder geändert.

Ist newChild ein QDomDocumentFragment, werden die Kinder des Fragments aus dem Fragment entfernt und hinter refChild eingefügt.

Gibt bei Erfolg eine neue Referenz auf „ newChild “ zurück, bei Fehlschlag ein „ null node “.

Die DOM-Spezifikation verbietet das Einfügen von Attributknoten, doch aus historischen Gründen akzeptiert QDom diese dennoch.

Siehe auch „ insertBefore()“, „ replaceChild()“, „ removeChild()“ und „ appendChild()“.

QDomNode QDomNode::insertBefore(const QDomNode &newChild, const QDomNode &refChild)

Fügt den Knoten newChild vor dem untergeordneten Knoten refChild ein. refChild muss ein direktes Kind dieses Knotens sein. Wenn refChild gleich null ist, wird newChild als erstes Kind des Knotens eingefügt.

Ist newChild ein Kind eines anderen Knotens, wird es diesem Knoten als Kind zugeordnet. Ist newChild ein Kind dieses Knotens, wird seine Position in der Liste der Kinder geändert.

Ist newChild ein QDomDocumentFragment, werden die Kinder des Fragments aus dem Fragment entfernt und vor refChild eingefügt.

Gibt bei Erfolg eine neue Referenz auf newChild zurück, bei Fehlschlag ein „ null node “.

Die DOM-Spezifikation verbietet das Einfügen von Attributknoten, doch aus historischen Gründen akzeptiert QDom diese dennoch.

Siehe auch „ insertAfter()“, „ replaceChild()“, „ removeChild()“ und „ appendChild()“.

bool QDomNode::isAttr() const

Gibt „ true “ zurück, wenn es sich bei dem Knoten um ein Attribut handelt; andernfalls wird „ false “ zurückgegeben.

Wenn diese Funktion „ true “ zurückgibt, bedeutet dies nicht, dass dieses Objekt ein „QDomAttribute“ ist; Sie können das „QDomAttribute“ mit „toAttribute()“ abrufen.

Siehe auch ` toAttr()`.

bool QDomNode::isCDATASection() const

Gibt „ true “ zurück, wenn es sich bei dem Knoten um einen CDATA-Abschnitt handelt; andernfalls wird „false“ zurückgegeben.

Wenn diese Funktion „ true “ zurückgibt, bedeutet dies nicht, dass dieses Objekt ein „ QDomCDATASection “ ist; Sie können den „ QDomCDATASection “ mit „ toCDATASection()“ abrufen.

Siehe auch ` toCDATASection()`.

bool QDomNode::isCharacterData() const

Gibt „ true “ zurück, wenn es sich bei dem Knoten um einen Zeichen-Datenknoten handelt; andernfalls wird „ false “ zurückgegeben.

Wenn diese Funktion „ true “ zurückgibt, bedeutet dies nicht, dass es sich bei diesem Objekt um ein „ QDomCharacterData “ handelt; Sie können den „ QDomCharacterData “ mit „ toCharacterData()“ abrufen.

Siehe auch ` toCharacterData()`.

bool QDomNode::isComment() const

Gibt „ true “ zurück, wenn es sich bei dem Knoten um einen Kommentar handelt; andernfalls wird „ false “ zurückgegeben.

Wenn diese Funktion „ true “ zurückgibt, bedeutet dies nicht, dass dieses Objekt ein „ QDomComment “ ist; Sie können den „ QDomComment “ mit „ toComment()“ abrufen.

Siehe auch ` toComment()`.

bool QDomNode::isDocument() const

Gibt „ true “ zurück, wenn der Knoten ein Dokument ist; andernfalls wird „ false “ zurückgegeben.

Wenn diese Funktion „ true “ zurückgibt, bedeutet dies nicht, dass dieses Objekt ein „ QDomDocument “ ist; Sie können den „ QDomDocument “ mit „ toDocument()“ abrufen.

Siehe auch ` toDocument()`.

bool QDomNode::isDocumentFragment() const

Gibt ` true ` zurück, wenn der Knoten ein Dokumentfragment ist; andernfalls wird `false` zurückgegeben.

Wenn diese Funktion „ true “ zurückgibt, bedeutet dies nicht, dass dieses Objekt ein „ QDomDocumentFragment “ ist; Sie können den „ QDomDocumentFragment “ mit „ toDocumentFragment()“ abrufen.

Siehe auch ` toDocumentFragment()`.

bool QDomNode::isDocumentType() const

Gibt „ true “ zurück, wenn der Knoten ein Dokumenttyp ist; andernfalls wird „false“ zurückgegeben.

Wenn diese Funktion „ true “ zurückgibt, bedeutet dies nicht, dass dieses Objekt ein „ QDomDocumentType “ ist; Sie können die „ QDomDocumentType “ mit „ toDocumentType()“ abrufen.

Siehe auch ` toDocumentType()`.

bool QDomNode::isElement() const

Gibt „ true “ zurück, wenn der Knoten ein Element ist; andernfalls wird „ false “ zurückgegeben.

Wenn diese Funktion „ true “ zurückgibt, bedeutet dies nicht, dass dieses Objekt ein „ QDomElement “ ist; Sie können den „ QDomElement “ mit „ toElement()“ abrufen.

Siehe auch ` toElement()`.

bool QDomNode::isEntity() const

Gibt „ true “ zurück, wenn der Knoten eine Entität ist; andernfalls wird „ false “ zurückgegeben.

Wenn diese Funktion „ true “ zurückgibt, bedeutet dies nicht, dass dieses Objekt ein „ QDomEntity “ ist; Sie können den „ QDomEntity “ mit „ toEntity()“ abrufen.

Siehe auch ` toEntity()`.

bool QDomNode::isEntityReference() const

Gibt „ true “ zurück, wenn es sich bei dem Knoten um eine Entitätsreferenz handelt; andernfalls wird „false“ zurückgegeben.

Wenn diese Funktion „ true “ zurückgibt, bedeutet dies nicht, dass es sich bei diesem Objekt um eine „ QDomEntityReference “ handelt; die „ QDomEntityReference “ können Sie mit „ toEntityReference()“ abrufen.

Siehe auch ` toEntityReference()`.

bool QDomNode::isNotation() const

Gibt „ true “ zurück, wenn es sich bei dem Knoten um eine Notation handelt; andernfalls wird „ false “ zurückgegeben.

Wenn diese Funktion „ true “ zurückgibt, bedeutet dies nicht, dass dieses Objekt ein „ QDomNotation “ ist; Sie können den „ QDomNotation “ mit „ toNotation()“ abrufen.

Siehe auch ` toNotation()`.

bool QDomNode::isNull() const

Gibt „ true “ zurück, wenn dieser Knoten null ist (d. h. wenn er keinen Typ oder keinen Inhalt hat); andernfalls gibt er „ false “ zurück.

bool QDomNode::isProcessingInstruction() const

Gibt „ true “ zurück, wenn es sich bei dem Knoten um eine Verarbeitungsanweisung handelt; andernfalls wird „ false “ zurückgegeben.

Wenn diese Funktion „ true “ zurückgibt, bedeutet dies nicht, dass dieses Objekt ein „ QDomProcessingInstruction “ ist; Sie können den „QProcessingInstruction“ mit „ toProcessingInstruction()“ abrufen.

Siehe auch ` toProcessingInstruction()`.

bool QDomNode::isSupported(const QString &feature, const QString &version) const

Gibt „ true “ zurück, wenn die DOM-Implementierung die Funktion „ feature “ implementiert und diese Funktion von diesem Knoten in der Version „ version “ unterstützt wird; andernfalls wird „ false “ zurückgegeben.

Siehe auch QDomImplementation::hasFeature().

bool QDomNode::isText() const

Gibt „ true “ zurück, wenn es sich bei dem Knoten um einen Textknoten handelt; andernfalls wird „ false “ zurückgegeben.

Wenn diese Funktion „ true “ zurückgibt, bedeutet dies nicht, dass dieses Objekt ein „ QDomText “ ist; Sie können den „ QDomText “ mit „ toText()“ abrufen.

Siehe auch toText().

QDomNode QDomNode::lastChild() const

Gibt das letzte untergeordnete Element des Knotens zurück. Wenn kein untergeordnetes Element vorhanden ist, wird ein ` null node ` zurückgegeben. Eine Änderung des zurückgegebenen Knotens führt auch zu einer Änderung des Knotens im Dokumentbaum.

Siehe auch „ firstChild()“ und „ childNodes()“.

QDomElement QDomNode::lastChildElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const

Gibt das letzte untergeordnete Element mit dem Tag-Namen „ tagName “ und der Namespace-URI „ namespaceURI “ zurück. Ist „ tagName “ leer, wird das letzte untergeordnete Element mit „ namespaceURI “ zurückgegeben; ist „ namespaceURI “ leer, wird das letzte untergeordnete Element mit „ tagName “ zurückgegeben. Sind beide Parameter leer, wird das letzte untergeordnete Element zurückgegeben. Gibt ein Null-Element zurück, wenn kein solches untergeordnetes Element vorhanden ist.

Siehe auch firstChildElement(), previousSiblingElement() und nextSiblingElement().

int QDomNode::lineNumber() const

Für Knoten, die mit QDomDocument::setContent() erstellt wurden, gibt diese Funktion die Zeilennummer im XML-Dokument zurück, an der der Knoten geparst wurde. Andernfalls wird -1 zurückgegeben.

Siehe auch ` columnNumber()` und ` QDomDocument::setContent()`.

QString QDomNode::localName() const

Wenn der Knoten Namespaces verwendet, gibt diese Funktion den lokalen Namen des Knotens zurück; andernfalls gibt sie eine leere Zeichenkette zurück.

Nur Knoten vom Typ „ ElementNode “ oder „ AttributeNode “ können Namespaces haben. Ein Namespace muss bereits bei der Erstellung angegeben worden sein; es ist nicht möglich, nachträglich einen Namespace hinzuzufügen.

Siehe auch prefix(), namespaceURI(), QDomDocument::createElementNS() und QDomDocument::createAttributeNS().

QDomNode QDomNode::namedItem(const QString &name) const

Gibt den ersten direkten untergeordneten Knoten zurück, für den nodeName() gleich name ist.

Wenn kein solcher direkter Nachkomme existiert, wird ein ` null node ` zurückgegeben.

Siehe auch ` nodeName()`.

QString QDomNode::namespaceURI() const

Gibt die Namespace-URI dieses Knotens zurück oder eine leere Zeichenfolge, wenn der Knoten keine Namespace-URI besitzt.

Nur Knoten vom Typ „ ElementNode “ oder „ AttributeNode “ können Namespaces haben. Eine Namespace-URI muss bei der Erstellung angegeben werden und kann später nicht mehr geändert werden.

Siehe auch prefix(), localName(), QDomDocument::createElementNS() und QDomDocument::createAttributeNS().

QDomNode QDomNode::nextSibling() const

Gibt den nächsten Geschwisterknoten im Dokumentbaum zurück. Eine Änderung des zurückgegebenen Knotens führt auch zu einer Änderung des Knotens im Dokumentbaum.

Wenn Sie folgendes XML haben:

<h1>Heading</h1>
<p>The text...</p>
<h2>Next heading</h2>

und dieser QDomNode den <p>-Tag darstellt, gibt nextSibling() den Knoten zurück, der den <h2>-Tag darstellt.

Siehe auch previousSibling().

QDomElement QDomNode::nextSiblingElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const

Gibt das nächste gleichrangige Element mit dem Tag-Namen „ tagName “ und der Namespace-URI „ namespaceURI “ zurück. Ist „ tagName “ leer, wird das nächste gleichrangige Element mit „ namespaceURI “ zurückgegeben; ist „ namespaceURI “ leer, wird das nächste gleichrangige untergeordnete Element mit „ tagName “ zurückgegeben. Sind beide Parameter leer, wird das nächste gleichrangige Element zurückgegeben. Es wird ein Null-Element zurückgegeben, wenn kein solches gleichrangiges Element existiert.

Siehe auch firstChildElement(), previousSiblingElement() und lastChildElement().

QString QDomNode::nodeName() const

Gibt den Namen des Knotens zurück.

Die Bedeutung des Namens hängt von der Unterklasse ab:

NameBedeutung
QDomAttrDer Name des Attributs
QDomCDATASectionDie Zeichenkette „#cdata-section“
QDomCommentDie Zeichenfolge „#comment“
QDomDocumentDie Zeichenfolge „#document“
QDomDocumentFragmentDie Zeichenfolge „#document-fragment“
QDomDocumentTypeDer Name des Dokumenttyps
QDomElementDer Tag-Name
QDomEntityDer Name der Entität
QDomEntityReferenceDer Name der referenzierten Entität
QDomNotationDer Name der Notation
QDomProcessingInstructionDas Ziel der Verarbeitungsanweisung
QDomTextDie Zeichenkette „#text“

Hinweis: Diese Funktion berücksichtigt bei der Verarbeitung der Namen von Element- und Attributknoten nicht das Vorhandensein von Namespaces. Daher kann der zurückgegebene Name jedes möglicherweise vorhandene Namespace-Präfix enthalten. Um den Knotennamen eines Elements oder Attributs zu erhalten, verwenden Sie ` localName()`; um das Namespace-Präfix zu erhalten, verwenden Sie ` namespaceURI()`.

Siehe auch ` nodeValue()`.

QDomNode::NodeType QDomNode::nodeType() const

Gibt den Typ des Knotens zurück.

Siehe auch toAttr(), toCDATASection(), toDocumentFragment(), toDocument(), toDocumentType(), toElement(), toEntityReference(), toText(), toEntity(), toNotation(), toProcessingInstruction(), toCharacterData() und toComment().

QString QDomNode::nodeValue() const

Gibt den Wert des Knotens zurück.

Die Bedeutung des Werts hängt von der Unterklasse ab:

NameBedeutung
QDomAttrDer Attributwert
QDomCDATASectionDer Inhalt des CDATA-Abschnitts
QDomCommentDer Kommentar
QDomProcessingInstructionDie Daten der Verarbeitungsanweisung
QDomTextDer Text

Alle anderen Unterklassen haben keinen Knotenwert und geben eine leere Zeichenkette zurück.

Siehe auch setNodeValue() und nodeName().

void QDomNode::normalize()

Der Aufruf von `normalize()` für ein Element wandelt alle seine untergeordneten Elemente in eine Standardform um. Das bedeutet, dass benachbarte „ QDomText “-Objekte zu einem einzigen Textobjekt zusammengeführt werden (Knoten vom Typ „QDomCDATASection “ werden nicht zusammengeführt).

QDomDocument QDomNode::ownerDocument() const

Gibt das Dokument zurück, zu dem dieser Knoten gehört.

QDomNode QDomNode::parentNode() const

Gibt den übergeordneten Knoten zurück. Wenn dieser Knoten keinen übergeordneten Knoten hat, wird ein Null-Knoten zurückgegeben (d. h. ein Knoten, für den ` isNull()` den Wert ` true` zurückgibt).

QString QDomNode::prefix() const

Gibt das Namespace-Präfix des Knotens zurück oder eine leere Zeichenkette, wenn der Knoten kein Namespace-Präfix hat.

Nur Knoten vom Typ „ ElementNode “ oder „ AttributeNode “ können Namespaces haben. Ein Namespace-Präfix muss bei der Erstellung angegeben werden. Wenn ein Knoten mit einem Namespace-Präfix erstellt wurde, können Sie dieses später mit „ setPrefix()“ ändern.

Wenn Sie ein Element oder Attribut mit ` QDomDocument::createElement()` oder ` QDomDocument::createAttribute()` erstellen, ist das Präfix eine leere Zeichenfolge. Wenn Sie stattdessen ` QDomDocument::createElementNS()` oder ` QDomDocument::createAttributeNS()` verwenden, ist das Präfix keine leere Zeichenfolge; es kann jedoch eine leere Zeichenfolge sein, wenn der Name kein Präfix hat.

Siehe auch setPrefix(), localName(), namespaceURI(), QDomDocument::createElementNS() und QDomDocument::createAttributeNS().

QDomNode QDomNode::previousSibling() const

Gibt das vorherige Geschwisterelement im Dokumentbaum zurück. Eine Änderung des zurückgegebenen Knotens führt auch zu einer Änderung des Knotens im Dokumentbaum.

Wenn Sie beispielsweise folgenden XML-Code haben:

<h1>Heading</h1>
<p>The text...</p>
<h2>Next heading</h2>

und dieser Knoten QDomNode den &lt;p&gt;-Tag darstellt, gibt previousSibling() den Knoten zurück, der den &lt;h1&gt;-Tag darstellt.

Siehe auch ` nextSibling()`.

QDomElement QDomNode::previousSiblingElement(const QString &tagName = QString(), const QString &namespaceURI = QString()) const

Gibt das vorherige Geschwisterelement mit dem Tag-Namen „ tagName “ und der Namespace-URI „ namespaceURI “ zurück. Ist „ tagName “ leer, wird das vorherige Geschwisterelement mit „ namespaceURI “ zurückgegeben; ist „ namespaceURI “ leer, wird das vorherige Geschwisterelement mit „ tagName “ zurückgegeben. Sind beide Parameter leer, wird das vorherige Geschwisterelement zurückgegeben. Gibt ein Null-Element zurück, wenn kein solches Geschwisterelement existiert.

Siehe auch „ firstChildElement()“, „ nextSiblingElement()“ und „ lastChildElement()“.

QDomNode QDomNode::removeChild(const QDomNode &oldChild)

Entfernt „ oldChild “ aus der Liste der untergeordneten Elemente. „ oldChild “ muss ein direktes untergeordnetes Element dieses Knotens sein.

Gibt bei Erfolg eine neue Referenz auf oldChild zurück, bei Fehlschlag ein null node.

Siehe auch insertBefore(), insertAfter(), replaceChild() und appendChild().

QDomNode QDomNode::replaceChild(const QDomNode &newChild, const QDomNode &oldChild)

Ersetzt oldChild durch newChild. oldChild muss ein direktes untergeordnetes Element dieses Knotens sein.

Wenn newChild ein Kind eines anderen Knotens ist, wird es diesem Knoten als Kind zugeordnet. Wenn newChild ein Kind dieses Knotens ist, wird seine Position in der Liste der Kinder geändert.

Ist newChild ein QDomDocumentFragment, wird oldChild durch alle Kinder des Fragments ersetzt.

Gibt bei Erfolg eine neue Referenz auf ` oldChild ` zurück, bei Fehlschlag ein ` null node `.

Siehe auch insertBefore(), insertAfter(), removeChild() und appendChild().

void QDomNode::save(QTextStream &stream, int indent, QDomNode::EncodingPolicy encodingPolicy = QDomNode::EncodingFromDocument) const

Schreibt die XML-Darstellung des Knotens und aller seiner untergeordneten Knoten in den Stream „ stream “. Diese Funktion verwendet „ indent “ als Wert für den Einrückungsabstand des Knotens.

Enthält das Dokument ungültige XML-Zeichen oder Zeichen, die in der angegebenen Kodierung nicht kodiert werden können, sind das Ergebnis und das Verhalten undefiniert.

Ist encodingPolicy gleich QDomNode::EncodingFromDocument und handelt es sich bei diesem Knoten um einen Dokumentknoten, wird die Kodierung des Textstroms stream festgelegt, indem eine Verarbeitungsanweisung mit dem Namen „xml“ – sofern vorhanden – als XML-Deklaration behandelt wird; andernfalls wird standardmäßig UTF-8 verwendet. XML-Deklarationen sind keine Verarbeitungsanweisungen, doch dieses Verhalten besteht aus historischen Gründen. Ist dieser Knoten kein Dokumentknoten, wird die Kodierung des Textstroms verwendet.

Wenn encodingPolicy gleich EncodingFromTextStream ist und dieser Knoten ein Dokumentknoten ist, verhält sich diese Funktion wie save(QTextStream &str, int indent), mit der Ausnahme, dass die im Textstrom stream angegebene Kodierung verwendet wird.

Enthält das Dokument ungültige XML-Zeichen oder Zeichen, die in der angegebenen Kodierung nicht kodiert werden können, sind das Ergebnis und das Verhalten undefiniert.

void QDomNode::setNodeValue(const QString &value)

Setzt den Wert des Knotens auf „ value “.

Siehe auch ` nodeValue()`.

void QDomNode::setPrefix(const QString &pre)

Verfügt der Knoten über ein Namespace-Präfix, ändert diese Funktion das Namespace-Präfix des Knotens in „ pre “. Andernfalls führt diese Funktion keine Aktion aus.

Nur Knoten vom Typ „ ElementNode “ oder „ AttributeNode “ können Namespaces haben. Ein Namespace-Präfix muss bei der Erstellung angegeben werden; es ist nicht möglich, ein Namespace-Präfix nachträglich hinzuzufügen.

Siehe auch prefix(), localName(), namespaceURI(), QDomDocument::createElementNS() und QDomDocument::createAttributeNS().

QDomAttr QDomNode::toAttr() const

Wandelt einen „ QDomNode “ in einen „ QDomAttr “ um. Wenn der Knoten kein Attribut ist, ist das zurückgegebene Objekt ein „ null “.

Siehe auch isAttr().

QDomCDATASection QDomNode::toCDATASection() const

Wandelt ein „ QDomNode “ in ein „ QDomCDATASection “ um. Ist der Knoten kein CDATA-Abschnitt, ist das zurückgegebene Objekt ein „ null “.

Siehe auch isCDATASection().

QDomCharacterData QDomNode::toCharacterData() const

Wandelt einen ` QDomNode ` in einen ` QDomCharacterData` um. Ist der Knoten kein Zeichen-Datenknoten, ist das zurückgegebene Objekt ein ` null`.

Siehe auch isCharacterData().

QDomComment QDomNode::toComment() const

Wandelt ein ` QDomNode ` in ein ` QDomComment` um. Ist der Knoten kein Kommentar, wird das Objekt ` null` zurückgegeben.

Siehe auch isComment().

QDomDocument QDomNode::toDocument() const

Wandelt ein „ QDomNode “ in ein „ QDomDocument “ um. Ist der Knoten kein Dokument, wird das Objekt „ null “ zurückgegeben.

Siehe auch isDocument().

QDomDocumentFragment QDomNode::toDocumentFragment() const

Wandelt ein „ QDomNode “ in ein „ QDomDocumentFragment “ um. Ist der Knoten kein Dokumentfragment, wird das Objekt „ null “ zurückgegeben.

Siehe auch isDocumentFragment().

QDomDocumentType QDomNode::toDocumentType() const

Wandelt einen „ QDomNode “ in einen „ QDomDocumentType “ um. Wenn es sich bei dem Knoten nicht um einen Dokumenttyp handelt, ist das zurückgegebene Objekt ein „ null “.

Siehe auch isDocumentType().

QDomElement QDomNode::toElement() const

Wandelt einen „ QDomNode “ in einen „ QDomElement “ um. Ist der Knoten kein Element, wird das Objekt „ null “ zurückgegeben.

Siehe auch „ isElement()“.

QDomEntity QDomNode::toEntity() const

Wandelt einen „ QDomNode “ in einen „ QDomEntity “ um. Ist der Knoten keine Entität, wird das Objekt „ null “ zurückgegeben.

Siehe auch isEntity().

QDomEntityReference QDomNode::toEntityReference() const

Wandelt eine „ QDomNode “ in eine „ QDomEntityReference “ um. Wenn es sich bei dem Knoten nicht um eine Entitätsreferenz handelt, ist das zurückgegebene Objekt „ null “.

Siehe auch isEntityReference().

QDomNotation QDomNode::toNotation() const

Wandelt einen „ QDomNode “ in einen „ QDomNotation “ um. Ist der Knoten kein Notation-Objekt, wird das Objekt „ null “ zurückgegeben.

Siehe auch isNotation().

QDomProcessingInstruction QDomNode::toProcessingInstruction() const

Wandelt einen „ QDomNode “ in einen „ QDomProcessingInstruction “ um. Handelt es sich bei dem Knoten nicht um eine Verarbeitungsanweisung, ist das zurückgegebene Objekt „ null “.

Siehe auch isProcessingInstruction().

QDomText QDomNode::toText() const

Wandelt einen „ QDomNode “ in einen „ QDomText “ um. Ist der Knoten kein Text, ist das zurückgegebene Objekt ein „ null “.

Siehe auch isText().

bool QDomNode::operator!=(const QDomNode &other) const

Gibt „ true “ zurück, wenn „ other “ und dieser DOM-Knoten nicht identisch sind; andernfalls wird „ false “ zurückgegeben.

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

Weist diesem DOM-Knoten eine Kopie von ` other ` zu.

Die Daten der Kopie werden gemeinsam genutzt (flache Kopie): Wenn ein Knoten geändert wird, ändert sich auch der andere. Wenn Sie eine tiefe Kopie erstellen möchten, verwenden Sie ` cloneNode()`.

bool QDomNode::operator==(const QDomNode &other) const

Gibt „ true “ zurück, wenn „ other “ und dieser DOM-Knoten gleich sind; andernfalls wird „ false “ zurückgegeben.

Jede Instanz von ` QDomNode ` fungiert als Referenz auf eine zugrunde liegende Datenstruktur in ` QDomDocument`. Der Gleichheitsvergleich prüft, ob die beiden Referenzen auf denselben zugrunde liegenden Knoten verweisen. Beispiel:

QDomDocument document;
QDomElement element1 = document.documentElement();
QDomElement element2 = element1;

Die beiden Knoten (QDomElement ist eine Unterklasse von QDomNode ) verweisen beide auf das Stammelement des Dokuments, und element1 == element2 gibt „true“ zurück. Andererseits:

QDomElement element3 = document.createElement("MyElement");
QDomElement element4 = document.createElement("MyElement");

Obwohl beide Knoten leere Elemente mit demselben Namen sind, gibt „ element3 == element4 “ den Wert „false“ zurück, da sie auf zwei verschiedene Knoten in der zugrunde liegenden Datenstruktur verweisen.

Verwandte Nicht-Mitglieder

QTextStream &operator<<(QTextStream &str, const QDomNode &node)

Schreibt die XML-Darstellung des Knotens „ node “ und aller seiner untergeordneten Knoten in den Stream „ 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.