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: |
- Liste aller Mitglieder, einschließlich geerbter Mitglieder
- QDomNode ist Teil der XML-Klassen.
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 |
Verwandte Nicht-Mitglieder
| 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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QDomNode::EncodingFromDocument | 1 | Die Kodierung wird aus dem Dokument abgerufen. |
QDomNode::EncodingFromTextStream | 2 | Die Kodierung wird von der ` QTextStream` abgerufen. |
Siehe auch ` QDomNode::save()`.
enum QDomNode::NodeType
Diese Enumeration definiert den Typ des Knotens:
| Konstante | Wert | Beschreibung |
|---|---|---|
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 | Ein „ QDomNode “-Objekt, d. h. keine Unterklasse von „ QDomNode “. |
QDomNode::CharacterDataNode | 22 |
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 <h1>-Tag erstellten Knoten und den durch das <p>-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:
| Name | Bedeutung |
|---|---|
| QDomAttr | Der Name des Attributs |
| QDomCDATASection | Die Zeichenkette „#cdata-section“ |
| QDomComment | Die Zeichenfolge „#comment“ |
| QDomDocument | Die Zeichenfolge „#document“ |
| QDomDocumentFragment | Die Zeichenfolge „#document-fragment“ |
| QDomDocumentType | Der Name des Dokumenttyps |
| QDomElement | Der Tag-Name |
| QDomEntity | Der Name der Entität |
| QDomEntityReference | Der Name der referenzierten Entität |
| QDomNotation | Der Name der Notation |
| QDomProcessingInstruction | Das Ziel der Verarbeitungsanweisung |
| QDomText | Die 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:
| Name | Bedeutung |
|---|---|
| QDomAttr | Der Attributwert |
| QDomCDATASection | Der Inhalt des CDATA-Abschnitts |
| QDomComment | Der Kommentar |
| QDomProcessingInstruction | Die Daten der Verarbeitungsanweisung |
| QDomText | Der 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 <p>-Tag darstellt, gibt previousSibling() den Knoten zurück, der den <h1>-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.