Auf dieser Seite

QXmlStreamWriter Class

Die Klasse „QXmlStreamWriter“ stellt einen XML 1.0-Writer mit einer einfachen Streaming-API bereit. Mehr...

Kopfzeile: #include <QXmlStreamWriter>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

Hinweis: Alle Funktionen dieser Klasse sind reentrant.

Öffentliche Typen

(since 6.10) enum class Error { None, IO, Encoding, InvalidCharacter, Custom }

Eigenschaften

Öffentliche Funktionen

QXmlStreamWriter()
QXmlStreamWriter(QByteArray *array)
QXmlStreamWriter(QIODevice *device)
QXmlStreamWriter(QString *string)
~QXmlStreamWriter()
bool autoFormatting() const
int autoFormattingIndent() const
QIODevice *device() const
(since 6.10) QXmlStreamWriter::Error error() const
(since 6.10) QString errorString() const
bool hasError() const
(since 6.10) void raiseError(QAnyStringView message)
void setAutoFormatting(bool enable)
void setAutoFormattingIndent(int spacesOrTabs)
void setDevice(QIODevice *device)
void setStopWritingOnError(bool stop)
bool stopWritingOnError() const
void writeAttribute(QAnyStringView namespaceUri, QAnyStringView name, QAnyStringView value)
void writeAttribute(const QXmlStreamAttribute &attribute)
void writeAttribute(QAnyStringView qualifiedName, QAnyStringView value)
void writeAttributes(const QXmlStreamAttributes &attributes)
void writeCDATA(QAnyStringView text)
void writeCharacters(QAnyStringView text)
void writeComment(QAnyStringView text)
void writeCurrentToken(const QXmlStreamReader &reader)
void writeDTD(QAnyStringView dtd)
void writeDefaultNamespace(QAnyStringView namespaceUri)
void writeEmptyElement(QAnyStringView namespaceUri, QAnyStringView name)
void writeEmptyElement(QAnyStringView qualifiedName)
void writeEndDocument()
void writeEndElement()
void writeEntityReference(QAnyStringView name)
void writeNamespace(QAnyStringView namespaceUri, QAnyStringView prefix = {})
void writeProcessingInstruction(QAnyStringView target, QAnyStringView data = {})
void writeStartDocument(QAnyStringView version)
void writeStartDocument(QAnyStringView version, bool standalone)
void writeStartDocument()
void writeStartElement(QAnyStringView namespaceUri, QAnyStringView name)
void writeStartElement(QAnyStringView qualifiedName)
void writeTextElement(QAnyStringView namespaceUri, QAnyStringView name, QAnyStringView text)
void writeTextElement(QAnyStringView qualifiedName, QAnyStringView text)

Ausführliche Beschreibung

QXmlStreamWriter ist das Gegenstück zu „ QXmlStreamReader “ zum Schreiben von XML. Es entspricht der XML 1.0-Spezifikation und schreibt Dokumente unter Verwendung der XML 1.0-Syntax, der Escape-Regeln und der Einschränkungen zur Zeichenvalidität.

Hinweis: XML 1.1 wird nicht unterstützt. Zwar können Versionszeichenfolgen in der Ausgabe manuell festgelegt werden, doch können Dokumente, die XML-1.1-spezifische Funktionen erfordern, wie beispielsweise zusätzliche Steuerzeichen, mit dieser Klasse nicht erzeugt werden.

Wie die zugehörige Klasse arbeitet auch diese mit einem „ QIODevice “, der mit ` setDevice()` festgelegt wird. Die API ist einfach und übersichtlich: Für jedes XML-Token oder -Ereignis, das Sie schreiben möchten, stellt der Writer eine spezielle Funktion bereit.

Sie beginnen ein Dokument mit ` writeStartDocument()` und beenden es mit ` writeEndDocument()`. Dadurch werden alle verbleibenden offenen Tags implizit geschlossen.

Element-Tags werden mit ` writeStartElement()` geöffnet, gefolgt von ` writeAttribute()` oder ` writeAttributes()`, dem Elementinhalt und anschließend ` writeEndElement()`. Eine kürzere Form, ` writeEmptyElement()`, kann zum Schreiben leerer Elemente verwendet werden, gefolgt von ` writeAttributes()`.

Der Elementinhalt besteht entweder aus Zeichen, Entitätsreferenzen oder verschachtelten Elementen. Er wird mit ` writeCharacters()` geschrieben, das sich auch um das Escapen aller unzulässigen Zeichen und Zeichenfolgen kümmert, mit ` writeEntityReference()` oder durch nachfolgende Aufrufe von ` writeStartElement()`. Eine Komfortmethode ` writeTextElement()` kann zum Schreiben von Endelementen verwendet werden, die nichts als Text enthalten.

Der folgende gekürzte Codeausschnitt zeigt die grundlegende Verwendung der Klasse zum Schreiben von formatiertem XML mit Einrückungen:

    QXmlStreamWriter stream(&output);
    stream.setAutoFormatting(true);
    stream.writeStartDocument();
    ...
    stream.writeStartElement("bookmark");
    stream.writeAttribute("href", "http://qt-project.org/");
    stream.writeTextElement("title", "Qt Project");
    stream.writeEndElement(); // bookmark
    ...
    stream.writeEndDocument();

QXmlStreamWriter übernimmt das Voranstellen von Namespaces – Sie müssen lediglich den namespaceUri angeben, wenn Sie Elemente oder Attribute schreiben. Wenn Sie bestimmte Präfixe einhalten müssen, können Sie den Writer zwingen, diese zu verwenden, indem Sie die Namespaces manuell entweder mit writeNamespace() oder writeDefaultNamespace() deklarieren. Alternativ können Sie die Namespace-Unterstützung des Stream-Writers umgehen und stattdessen überladene Methoden verwenden, die einen qualifizierten Namen entgegennehmen. Der Namespace „http://www.w3.org/XML/1998/namespace“ ist implizit vorhanden und wird dem Präfix „xml“ zugeordnet.

Der Stream-Writer kann die generierten XML-Daten automatisch formatieren, indem er Zeilenumbrüche und Einrückungen in leere Abschnitte zwischen Elementen einfügt. Dadurch werden die XML-Daten für Menschen lesbarer und lassen sich in den meisten Quellcode-Verwaltungssystemen leichter verarbeiten. Diese Funktion lässt sich mit der Eigenschaft „ autoFormatting “ aktivieren und mit der Eigenschaft „ autoFormattingIndent “ anpassen.

Weitere Funktionen sind ` writeCDATA()`, ` writeComment()`, ` writeProcessingInstruction()` und ` writeDTD()`. Die Verkettung von XML-Streams wird mit ` writeCurrentToken()` unterstützt.

QXmlStreamWriter kodiert XML immer in UTF-8.

Tritt beim Schreiben ein Fehler auf, gibt ` hasError()` den Wert `true` zurück. Standardmäßig können jedoch Daten, die zum Zeitpunkt des Fehlers bereits gepuffert waren, oder Daten, die im Rahmen desselben Vorgangs geschrieben wurden, dennoch auf das zugrunde liegende Gerät geschrieben werden. Dies gilt für „ Error::Encoding “, „ Error::InvalidCharacter “ und vom Benutzer ausgelöste „ Error::Custom “. Um dies zu vermeiden und sicherzustellen, dass nach einem Fehler keine Daten mehr geschrieben werden, verwenden Sie die Eigenschaft „ stopWritingOnError “. Wenn diese Eigenschaft aktiviert ist, stoppt der erste Fehler die Ausgabe sofort, und der Writer ignoriert alle nachfolgenden Schreibvorgänge. Anwendungen sollten den Fehlerzustand als endgültig behandeln und die weitere Verwendung des Writers nach einem Fehler vermeiden.

Das Beispiel „QXmlStream Bookmarks“ veranschaulicht, wie mit einem Stream-Writer eine XML-Lesezeichen-Datei (XBEL) geschrieben wird, die zuvor von einem „ QXmlStreamReader “ eingelesen wurde.

Dokumentation zu Mitgliedstypen

[since 6.10] enum class QXmlStreamWriter::Error

Diese Enumeration definiert die verschiedenen Fehlerfälle, die beim Schreiben von XML mit QXmlStreamWriter auftreten können.

KonstanteWertBeschreibung
QXmlStreamWriter::Error::None0Es ist kein Fehler aufgetreten.
QXmlStreamWriter::Error::IO1Beim Schreiben auf das Gerät ist ein E/A-Fehler aufgetreten.
QXmlStreamWriter::Error::Encoding2Beim Konvertieren von Zeichen in das Ausgabeformat ist ein Kodierungsfehler aufgetreten.
QXmlStreamWriter::Error::InvalidCharacter3Beim Schreiben wurde ein in XML 1.0 nicht zulässiges Zeichen gefunden.
QXmlStreamWriter::Error::Custom4Mit ` raiseError()` wurde ein benutzerdefinierter Fehler ausgelöst.

Diese Enumeration wurde in Qt 6.10 eingeführt.

Dokumentation zur Eigenschaft

autoFormatting : bool

Diese Eigenschaft enthält das Flag für die automatische Formatierung des Stream-Writers.

Diese Eigenschaft steuert, ob der Stream-Writer die generierten XML-Daten automatisch formatiert. Ist diese Option aktiviert, fügt der Writer automatisch Zeilenumbrüche und Einrückungen in leere Abschnitte zwischen Elementen ein (ignorierbare Leerzeichen). Der Hauptzweck der automatischen Formatierung besteht darin, die Daten auf mehrere Zeilen aufzuteilen und die Lesbarkeit für den menschlichen Leser zu verbessern. Die Einrückungstiefe kann über die Eigenschaft „ autoFormattingIndent “ gesteuert werden.

Standardmäßig ist die automatische Formatierung deaktiviert.

Zugriffsfunktionen:

bool autoFormatting() const
void setAutoFormatting(bool enable)

autoFormattingIndent : int

Diese Eigenschaft gibt die Anzahl der Leerzeichen oder Tabulatoren an, die bei aktivierter automatischer Formatierung für die Einrückung verwendet werden. Positive Zahlen stehen für Leerzeichen, negative Zahlen für Tabulatoren.

Die Standard-Einrückung beträgt 4.

Zugriffsfunktionen:

int autoFormattingIndent() const
void setAutoFormattingIndent(int spacesOrTabs)

Siehe auch „ autoFormatting “.

[since 6.10] stopWritingOnError : bool

Diese Eigenschaft legt fest, ob das Schreiben auf das Gerät nach Auftreten eines Fehlers beendet werden soll.

Ist diese Eigenschaft auf „ true “ gesetzt, bricht der Writer das Schreiben sofort ab, sobald ein Fehler auftritt, und ignoriert alle nachfolgenden Schreibvorgänge. Ist diese Eigenschaft auf „ false “ gesetzt, kann der Writer nach einem Fehler das Schreiben fortsetzen, wobei der ungültige Schreibvorgang übersprungen wird, weitere Ausgaben jedoch zugelassen werden.

Beachten Sie, dass dies „ Error::InvalidCharacter “, „ Error::Encoding “ und „ Error::Custom “ umfasst. „ Error::IO “ gilt immer als Endzustand und beendet das Schreiben unabhängig von dieser Einstellung.

Der Standardwert ist „ false “.

Diese Aufzählung wurde in Qt 6.10 eingeführt.

Zugriffsfunktionen:

bool stopWritingOnError() const
void setStopWritingOnError(bool stop)

Dokumentation zu den Mitgliedsfunktionen

QXmlStreamWriter::QXmlStreamWriter()

Erstellt einen Stream-Writer.

Siehe auch ` setDevice()`.

[explicit] QXmlStreamWriter::QXmlStreamWriter(QByteArray *array)

Erstellt einen Stream-Writer, der in „ array “ schreibt. Dies entspricht der Erstellung eines XML-Writers, der auf einem „ QBuffer “-Gerät arbeitet, das wiederum auf „ array “ arbeitet.

[explicit] QXmlStreamWriter::QXmlStreamWriter(QIODevice *device)

Erstellt einen Stream-Writer, der in „ device “ schreibt;

[explicit] QXmlStreamWriter::QXmlStreamWriter(QString *string)

Erstellt einen Stream-Writer, der in „ string “ schreibt.

[noexcept] QXmlStreamWriter::~QXmlStreamWriter()

Destruktor.

bool QXmlStreamWriter::autoFormatting() const

Gibt „ true “ zurück, wenn die automatische Formatierung aktiviert ist, andernfalls „ false “.

Hinweis: Getter -Funktion für die Eigenschaft „autoFormatting“.

Siehe auch „ setAutoFormatting()“.

QIODevice *QXmlStreamWriter::device() const

Gibt das aktuelle Gerät zurück, das der „ QXmlStreamWriter “ zugeordnet ist, oder „ nullptr “, falls kein Gerät zugewiesen wurde.

Siehe auch setDevice().

[since 6.10] QXmlStreamWriter::Error QXmlStreamWriter::error() const

Gibt den aktuellen Fehlerstatus des Writers zurück.

Wenn kein Fehler aufgetreten ist, gibt diese Funktion „ QXmlStreamWriter::Error::None “ zurück.

Diese Funktion wurde in Qt 6.10 eingeführt.

Siehe auch „ errorString()“, „ raiseError()“ und „ hasError()“.

[since 6.10] QString QXmlStreamWriter::errorString() const

Wenn ein Fehler aufgetreten ist, wird die zugehörige Fehlermeldung zurückgegeben.

Die Fehlermeldung wird entweder intern von ` QXmlStreamWriter ` gesetzt oder vom Benutzer über ` raiseError()` bereitgestellt. Wenn kein Fehler aufgetreten ist, gibt diese Funktion eine leere Zeichenkette zurück.

Diese Funktion wurde in Qt 6.10 eingeführt.

Siehe auch error(), raiseError() und hasError().

bool QXmlStreamWriter::hasError() const

Gibt „ true “ zurück, wenn beim Versuch, Daten zu schreiben, ein Fehler aufgetreten ist.

Wenn der Fehler „ Error::IO “ lautet, schlagen nachfolgende Schreibvorgänge in das zugrunde liegende Dokument „ QIODevice “ fehl. In anderen Fällen werden möglicherweise fehlerhafte Daten in das Dokument geschrieben.

Der Fehlerstatus wird niemals zurückgesetzt. Schreibvorgänge, die nach dem Auftreten des Fehlers erfolgen, werden möglicherweise ignoriert, selbst wenn die Fehlerbedingung behoben wurde.

Siehe auch „ error()“, „ errorString()“ und „ raiseError()“.

[since 6.10] void QXmlStreamWriter::raiseError(QAnyStringView message)

Löst einen benutzerdefinierten Fehler mit dem angegebenen „ message “ aus.

Diese Funktion dient dazu, manuell anzuzeigen, dass beim Schreiben ein Fehler aufgetreten ist, beispielsweise ein Validierungsfehler auf Anwendungsebene.

Diese Funktion wurde in Qt 6.10 eingeführt.

Siehe auch ` errorString()`, ` error()` und ` hasError()`.

void QXmlStreamWriter::setAutoFormatting(bool enable)

Aktiviert die automatische Formatierung, wenn „ enable “ auf „ true “ gesetzt ist; andernfalls wird sie deaktiviert.

Der Standardwert ist „ false “.

Hinweis: Setter -Funktion für die Eigenschaft „ autoFormatting “.

Siehe auch „ autoFormatting()“.

void QXmlStreamWriter::setDevice(QIODevice *device)

Legt das aktuelle Gerät auf „ device “ fest. Wenn der Stream in ein „ QByteArray “ schreiben soll, können Sie ein „ QBuffer “-Gerät erstellen.

Siehe auch device().

void QXmlStreamWriter::writeAttribute(QAnyStringView namespaceUri, QAnyStringView name, QAnyStringView value)

Schreibt ein Attribut mit den Präfixen „ name “ und „ value “ für den angegebenen namespaceUri. Falls der Namensraum noch nicht deklariert wurde, generiert QXmlStreamWriter eine Namensraumdeklaration dafür.

Diese Funktion kann nur nach dem Aufruf von ` writeStartElement()` – bevor Inhalte geschrieben werden – oder nach dem Aufruf von ` writeEmptyElement()` aufgerufen werden.

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.

void QXmlStreamWriter::writeAttribute(const QXmlStreamAttribute &attribute)

Schreibt die Funktion „ attribute “.

Diese Funktion kann nur nach ` writeStartElement()` aufgerufen werden, bevor Inhalte geschrieben werden, oder nach ` writeEmptyElement()`.

Dies ist eine überladene Funktion.

void QXmlStreamWriter::writeAttribute(QAnyStringView qualifiedName, QAnyStringView value)

Schreibt ein Attribut mit „ qualifiedName “ und „ value “.

Diese Funktion kann nur nach dem Aufruf von ` writeStartElement()` – bevor Inhalte geschrieben werden – oder nach dem Aufruf von ` writeEmptyElement()` aufgerufen werden.

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.

Dies ist eine überladene Funktion.

void QXmlStreamWriter::writeAttributes(const QXmlStreamAttributes &attributes)

Schreibt den Attributvektor „ attributes “. Wenn ein in einem Attribut referenzierter Namensraum noch nicht deklariert wurde, generiert „ QXmlStreamWriter “ eine Namensraumdeklaration dafür.

Diese Funktion kann nur nach dem Aufruf von ` writeStartElement()` – bevor Inhalte geschrieben werden – oder nach dem Aufruf von ` writeEmptyElement()` aufgerufen werden.

Siehe auch writeAttribute() und writeNamespace().

void QXmlStreamWriter::writeCDATA(QAnyStringView text)

Schreibt „ text “ als CDATA-Abschnitt. Wenn „ text “ die unzulässige Zeichenfolge „]]>“ enthält, wird sie in verschiedene CDATA-Abschnitte aufgeteilt.

Diese Funktion dient hauptsächlich der Vollständigkeit. Normalerweise sollten Sie sie nicht benötigen, da writeCharacters() alle Zeichen, die kein Inhalt sind, automatisch escapt.

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion QString als Argument entgegen, nicht QAnyStringView.

void QXmlStreamWriter::writeCharacters(QAnyStringView text)

Schreibt text. Die Zeichen „<“, „&“ und „““ werden als Entitätsreferenzen „&lt;“, „&amp;“ und „&quot;“ maskiert. Um die unzulässige Zeichenfolge „]]>“ zu vermeiden, wird „>“ ebenfalls als „&gt;“ maskiert.

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.

Siehe auch writeEntityReference().

void QXmlStreamWriter::writeComment(QAnyStringView text)

Schreibt „ text “ als XML-Kommentar, wobei „ text “ weder die verbotene Sequenz „ -- “ enthalten noch mit „ - “ enden darf. Beachten Sie, dass XML keine Möglichkeit bietet, „ - “ in einem Kommentar zu escapen.

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.

void QXmlStreamWriter::writeCurrentToken(const QXmlStreamReader &reader)

Schreibt den aktuellen Zustand des „ reader “ . Alle möglichen gültigen Zustände werden unterstützt.

Der Zweck dieser Funktion besteht darin, die verkettete Verarbeitung von XML-Daten zu unterstützen.

Siehe auch QXmlStreamReader::tokenType().

void QXmlStreamWriter::writeDTD(QAnyStringView dtd)

Schreibt einen DTD-Abschnitt. Die Zeichenfolge „ dtd “ steht für die gesamte „doctypedecl“-Regel aus der XML 1.0-Spezifikation.

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.

void QXmlStreamWriter::writeDefaultNamespace(QAnyStringView namespaceUri)

Schreibt eine Standard-Namespace-Deklaration für „ namespaceUri “ .

Wurde „ writeStartElement()“ oder „ writeEmptyElement()“ aufgerufen, gilt die Deklaration für das aktuelle Element; andernfalls gilt sie für das nächste untergeordnete Element.

Beachten Sie, dass die Namespaces „http://www.w3.org/XML/1998/namespace“ (gebunden an „xmlns“) und „http://www.w3.org/2000/xmlns/“ (gebunden an „xml“) per Definition nicht als Standard deklariert werden können.

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.

void QXmlStreamWriter::writeEmptyElement(QAnyStringView namespaceUri, QAnyStringView name)

Schreibt ein leeres Element mit dem Präfix name für den angegebenen namespaceUri. Wenn der Namespace noch nicht deklariert wurde, generiert QXmlStreamWriter eine Namespace-Deklaration dafür. Nachfolgende Aufrufe von writeAttribute() fügen diesem Element Attribute hinzu.

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.

Siehe auch ` writeNamespace()`.

void QXmlStreamWriter::writeEmptyElement(QAnyStringView qualifiedName)

Schreibt ein leeres Element mit dem qualifizierten Namen „ qualifiedName “. Nachfolgende Aufrufe von „ writeAttribute()“ fügen diesem Element Attribute hinzu.

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.

Dies ist eine überladene Funktion.

void QXmlStreamWriter::writeEndDocument()

Schließt alle verbleibenden offenen Startelemente und schreibt ein Zeilenende.

Siehe auch ` writeStartDocument()`.

void QXmlStreamWriter::writeEndElement()

Schließt das vorherige Start-Element.

Siehe auch „ writeStartElement()“.

void QXmlStreamWriter::writeEntityReference(QAnyStringView name)

Schreibt die Entitätsreferenz name als „&name;“ in den Stream.

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.

void QXmlStreamWriter::writeNamespace(QAnyStringView namespaceUri, QAnyStringView prefix = {})

Schreibt eine Namespace-Deklaration für namespaceUri mit prefix. Ist prefix leer, weist QXmlStreamWriter ein eindeutiges Präfix zu, das aus dem Buchstaben „n“ gefolgt von einer Zahl besteht.

Wurden writeStartElement() oder writeEmptyElement() aufgerufen, gilt die Deklaration für das aktuelle Element; andernfalls gilt sie für das nächste untergeordnete Element.

Beachten Sie, dass das Präfix „xml“ sowohl vordefiniert als auch für „http://www.w3.org/XML/1998/namespace“ reserviert ist, das wiederum nicht an ein anderes Präfix gebunden werden kann. Das Präfix „xmlns“ und dessen URI http://www.w3.org/2000/xmlns/ werden für den Namensraummechanismus selbst verwendet und sind daher in Deklarationen vollständig verboten.

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.

void QXmlStreamWriter::writeProcessingInstruction(QAnyStringView target, QAnyStringView data = {})

Schreibt eine XML-Verarbeitungsanweisung mit target und data, wobei data die Zeichenfolge „?>“ nicht enthalten darf.

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion QString entgegen, nicht QAnyStringView.

void QXmlStreamWriter::writeStartDocument(QAnyStringView version)

Schreibt ein Dokument, das mit der XML-Versionsnummer „ version “ beginnt.

Hinweis: Diese Funktion überprüft die Versionszeichenfolge nicht auf Gültigkeit und erlaubt die manuelle Festlegung. Allerdings unterstützt QXmlStreamWriter nur XML 1.0. Die Festlegung einer anderen Versionszeichenfolge als „1.0“ ändert weder das Verhalten des Schreibers noch die Escape-Regeln. Es liegt in der Verantwortung des Aufrufers, die Konsistenz zwischen der deklarierten Version und dem tatsächlichen Inhalt sicherzustellen.

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion QString entgegen, nicht QAnyStringView.

Siehe auch ` writeEndDocument()`.

void QXmlStreamWriter::writeStartDocument(QAnyStringView version, bool standalone)

Schreibt ein Dokument, das mit der XML-Versionsnummer „ version “ und dem Attribut „ standalone “ beginnt.

Hinweis: Diese Funktion überprüft die Versionszeichenfolge nicht auf Gültigkeit und ermöglicht deren manuelle Festlegung. „ QXmlStreamWriter “ unterstützt jedoch nur XML 1.0. Die Festlegung einer anderen Versionszeichenfolge als „1.0“ hat keinen Einfluss auf das Verhalten des Schreibers oder die Escape-Regeln. Es liegt in der Verantwortung des Aufrufenden, die Konsistenz zwischen der deklarierten Version und dem tatsächlichen Inhalt sicherzustellen.

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion QString als Argument entgegen, nicht QAnyStringView.

Siehe auch writeEndDocument().

void QXmlStreamWriter::writeStartDocument()

Schreibt ein Dokument, das mit der XML-Versionsnummer „1.0“ beginnt.

Dies ist eine überladene Funktion.

Siehe auch writeEndDocument().

void QXmlStreamWriter::writeStartElement(QAnyStringView namespaceUri, QAnyStringView name)

Schreibt ein Startelement mit dem Präfix „ name “ für den angegebenen namespaceUri. Falls der Namespace noch nicht deklariert wurde, generiert QXmlStreamWriter eine Namespace-Deklaration dafür. Nachfolgende Aufrufe von writeAttribute() fügen diesem Element Attribute hinzu.

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion QString und nicht QAnyStringView entgegen.

Siehe auch writeNamespace(), writeEndElement() und writeEmptyElement().

void QXmlStreamWriter::writeStartElement(QAnyStringView qualifiedName)

Schreibt ein Startelement mit qualifiedName. Nachfolgende Aufrufe von writeAttribute() fügen diesem Element Attribute hinzu.

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion ` QString` entgegen, nicht ` QAnyStringView`.

Dies ist eine überladene Funktion.

Siehe auch ` writeEndElement()` und ` writeEmptyElement()`.

void QXmlStreamWriter::writeTextElement(QAnyStringView namespaceUri, QAnyStringView name, QAnyStringView text)

Schreibt ein Textelement mit dem Präfix „ name “ für den angegebenen namespaceUri und text. Falls der Namensraum noch nicht deklariert wurde, generiert QXmlStreamWriter eine Namensraumdeklaration dafür.

Dies ist eine Komfortfunktion, die folgendem entspricht:

stream.writeStartElement(namespaceUri, name);
stream.writeCharacters(text);
stream.writeEndElement();

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.

void QXmlStreamWriter::writeTextElement(QAnyStringView qualifiedName, QAnyStringView text)

Schreibt ein Textelement mit den Werten „ qualifiedName “ und „ text “.

Dies ist eine Komfortfunktion, die folgendem entspricht:

stream.writeStartElement(qualifiedName);
stream.writeCharacters(text);
stream.writeEndElement();

Hinweis: In Qt-Versionen vor 6.5 nahm diese Funktion „ QString “ entgegen, nicht „ QAnyStringView “.

Dies ist eine überladene Funktion.

© 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.