- Qt 6.9
- Qt Core
- C++ Classes
- QXmlStreamAttributes
- Qt 6.9.3 Reference Documentation

# QXmlStreamAttributes Class

The QXmlStreamAttributes class represents a vector of QXmlStreamAttribute. More...

Header: | `#include <QXmlStreamAttributes>`
CMake: | `find_package(Qt6 REQUIRED COMPONENTS Core)` `target_link_libraries(mytarget PRIVATE Qt6::Core)`
qmake: | `QT += core`
Inherits: | QList

- List of all members, including inherited members
- QXmlStreamAttributes is part of XML Classes.

Note: All functions in this class are reentrant.

## Public Functions

| QXmlStreamAttributes()
void | append(const QString &namespaceUri, const QString &name, const QString &value)
void | append(const QString &qualifiedName, const QString &value)
bool | hasAttribute(QAnyStringView qualifiedName) const
bool | hasAttribute(QAnyStringView namespaceUri, QAnyStringView name) const
QStringView | value(QAnyStringView namespaceUri, QAnyStringView name) const
QStringView | value(QAnyStringView qualifiedName) const

## Detailed Description

Attributes are returned by a QXmlStreamReader in attributes() when the reader reports a start element. The class can also be used with a QXmlStreamWriter as an argument to writeAttributes().

The convenience function value() loops over the vector and returns an attribute value for a given namespaceUri and an attribute's name.

New attributes can be added with append().

## Member Function Documentation

### QXmlStreamAttributes::QXmlStreamAttributes()

A constructor for QXmlStreamAttributes.

### void QXmlStreamAttributes::append(const QString &namespaceUri, const QString &name, const QString &value)

Appends a new attribute with name in the namespace described with namespaceUri, and value value. The namespaceUri can be empty.

### void QXmlStreamAttributes::append(const QString &qualifiedName, const QString &value)

Appends a new attribute with qualified name qualifiedName and value value.

This is an overloaded function.

### bool QXmlStreamAttributes::hasAttribute(QAnyStringView qualifiedName) const

Returns `true` if this QXmlStreamAttributes has an attribute whose qualified name is qualifiedName; otherwise returns `false`.

Note that this is not namespace aware. For instance, if this QXmlStreamAttributes contains an attribute whose lexical name is "xlink:href" this doesn't tell that an attribute named `href` in the XLink namespace is present, since the `xlink` prefix can be bound to any namespace. Use the overload that takes a namespace URI and a local name as parameter, for namespace aware code.

### bool QXmlStreamAttributes::hasAttribute(QAnyStringView namespaceUri, QAnyStringView name) const

Returns `true` if this QXmlStreamAttributes has an attribute whose namespace URI and name correspond to namespaceUri and name; otherwise returns `false`.

This is an overloaded function.

### `[noexcept]` QStringView QXmlStreamAttributes::value(QAnyStringView namespaceUri, QAnyStringView name) const

Returns the value of the attribute name in the namespace described with namespaceUri, or an empty string reference if the attribute is not defined. The namespaceUri can be empty.

Note: In Qt versions prior to 6.6, this function was implemented as an overload set accepting combinations of QString and QLatin1StringView only.

### `[noexcept]` QStringView QXmlStreamAttributes::value(QAnyStringView qualifiedName) const

Returns the value of the attribute with qualified name qualifiedName , or an empty string reference if the attribute is not defined. A qualified name is the raw name of an attribute in the XML data. It consists of the namespace prefix, followed by colon, followed by the attribute's local name. Since the namespace prefix is not unique (the same prefix can point to different namespaces and different prefixes can point to the same namespace), you shouldn't use qualified names, but a resolved namespaceUri and the attribute's local name.

Note: In Qt versions prior to 6.6, this function was implemented as an overload set accepting QString and QLatin1StringView only.

This is an overloaded function.